def test_get_header_dict_from_form_model_without_unique_id_question(self): self.form_model.fields = [self.field1, self.field2] self.form_model.entity_questions = [] expected = {'date': 'Submission Date', 'ds_id': 'Datasender Id', 'ds_name': 'Data Sender', 'form_model_id_q1': 'Enter Text', 'form_model_id_q2': 'Enter a Number'} result = SubmissionAnalysisHeader(self.form_model).get_header_dict() self.assertDictEqual(expected, result)
def test_get_header_dict_from_form_model_with_single_unique_id_question_inside_repeat(self): self.form_model.fields = [self.field1, self.field2, self.repeat_field] self.form_model.entity_questions = [self.field4] expected = {'date': 'Submission Date', 'ds_id': 'Datasender Id', 'ds_name': 'Data Sender', 'form_model_id_q1': 'Enter Text', 'form_model_id_q2': 'Enter a Number', 'form_model_id_repeat-q1': 'Enter Text', 'form_model_id_repeat-q4': 'Which school are you reporting on'} result = SubmissionAnalysisHeader(self.form_model).get_header_dict() self.assertDictEqual(expected, result)
def test_get_header_dict_from_form_model_with_single_unique_id_question(self): self.form_model.fields = [self.field1, self.field2, self.field3] self.form_model.entity_questions = [self.field3] expected = {'date': 'Submission Date', 'ds_id': 'Datasender Id', 'ds_name': 'Data Sender', 'form_model_id_q1': 'Enter Text', 'form_model_id_q2': 'Enter a Number', 'form_model_id_q3': 'Which clinic are you reporting on', 'form_model_id_q3_unique_code': 'clinic ID'} result = SubmissionAnalysisHeader(self.form_model).get_header_dict() self.assertDictEqual(expected, result)
def test_get_field_names_as_header_dict(self): self.form_model.fields = [self.field1, self.field2, self.field3] self.form_model.entity_questions = [self.field3] expected = [ 'date', 'ds_id', 'ds_name', 'form_model_id_q1', 'form_model_id_q2', 'form_model_id_q3', 'form_model_id_q3_unique_code' ] result = SubmissionAnalysisHeader( self.form_model).get_field_names_as_header_name() self.assertListEqual(expected, result)
def test_get_header_dict_from_form_model_without_unique_id_question(self): self.form_model.fields = [self.field1, self.field2] self.form_model.entity_questions = [] expected = OrderedDict([('date', u'Submission Date'), ('datasender.id', u'Data Sender Id'), ('datasender.name', u'Data Sender Name'), ('datasender.mobile_number', u'Data Sender Mobile Number'), ('datasender.email', u'Data Sender Email'), ('datasender.location', u'Data Sender Location'), ('datasender.geo_code', u'Data Sender GPS Coordinates'), ('form_model_id_q1', 'Enter Text'), ('form_model_id_q2', 'Enter a Number')]) result = SubmissionAnalysisHeader(self.form_model).get_header_dict() self.assertDictEqual(expected, result)
def test_get_header_dict_from_form_model_with_single_unique_id_question(self, mock_get_form_model_by_entity_type): mock_form_model_2 = Mock(FormModel) mock_clinic_field_1 = TextField('name1', 'code1', 'label1') mock_clinic_field_2 = TextField('name2', 'code2', 'label2') mock_form_model_2.fields = [mock_clinic_field_1,mock_clinic_field_2] mock_get_form_model_by_entity_type.side_effect = [mock_form_model_2] self.form_model.fields = [self.field1, self.field2, self.field3] self.form_model._dbm = Mock(spec=FormModel) self.form_model.entity_questions = [self.field3] expected = OrderedDict([('date', u'Submission Date'), ('datasender.id', u'Data Sender Id'), ('datasender.name', u'Data Sender Name'), ('datasender.mobile_number', u'Data Sender Mobile Number'), ('datasender.email', u'Data Sender Email'), ('datasender.location', u'Data Sender Location'), ('datasender.geo_code', u'Data Sender GPS Coordinates'), ('form_model_id_q1', 'Enter Text'), ('form_model_id_q2', 'Enter a Number'), ('form_model_id_q3_details.code1', 'label1'), ('form_model_id_q3_details.code2', 'label2')]) result = SubmissionAnalysisHeader(self.form_model).get_header_dict() self.assertDictEqual(expected, result)