Ejemplo n.º 1
0
    def test_config_empty_datavalue_map(self):
        config = {
            'form_configs':
            json.dumps([{
                'xmlns': 'test_xmlns',
                'program_id': 'test program',
                'event_date': {
                    'doc_type': 'FormQuestion',
                    'form_question': '/data/event_date'
                },
                'event_status': 'COMPLETED',
                'org_unit_id': {
                    'doc_type': 'ConstantString',
                    'value': 'dhis2_location_id'
                },
                'datavalue_maps': [{}]
            }])
        }
        form = Dhis2ConfigForm(data=config)
        self.assertTrue(form.is_valid())

        repeater = Dhis2Repeater()
        repeater.dhis2_config = Dhis2Config.wrap(form.cleaned_data)
        with self.assertRaises(BadValueError) as e:
            repeater.save()
        self.assertEqual(str(e.exception),
                         "Property data_element_id is required.")
Ejemplo n.º 2
0
    def test_org_unit_id_migration(self):
        config = {
            'form_configs':
            json.dumps([{
                'xmlns':
                'test_xmlns',
                'program_id':
                'test program',
                'org_unit_id':
                'dhis2_location_id',
                'event_date': {
                    'doc_type': 'FormQuestion',
                    'form_question': '/data/event_date'
                },
                'datavalue_maps': [{
                    'data_element_id': 'dhis2_element_id',
                    'value': {
                        'doc_type': 'FormQuestion',
                        'form_question': '/data/example_question'
                    }
                }]
            }])
        }
        form = Dhis2ConfigForm(data=config)
        self.assertTrue(form.is_valid())

        repeater = Dhis2Repeater()
        repeater.dhis2_config = Dhis2Config.wrap(form.cleaned_data)
        repeater.save()
        org_unit_value_source = dict(
            repeater.dhis2_config.form_configs[0].org_unit_id)
        self.assertDictEqual(org_unit_value_source,
                             {'value': 'dhis2_location_id'})
Ejemplo n.º 3
0
 def test_empty_json(self):
     config = {'form_configs': [{}]}
     repeater = Dhis2Repeater()
     repeater.dhis2_config = Dhis2Config.wrap(config)
     with self.assertRaises(BadValueError) as e:
         repeater.save()
     self.assertEqual(str(e.exception), "Property xmlns is required.")
Ejemplo n.º 4
0
    def test_config_empty_datavalue_map(self):
        config = {
            'form_configs': json.dumps([{
                'xmlns': 'test_xmlns',
                'program_id': 'test program',
                'event_date': {
                    'doc_type': 'FormQuestion',
                    'form_question': '/data/event_date'
                },
                'event_status': 'COMPLETED',
                'org_unit_id': {
                    'doc_type': 'ConstantString',
                    'value': 'dhis2_location_id'
                },
                'datavalue_maps': [
                    {}
                ]
            }])
        }
        form = Dhis2ConfigForm(data=config)
        self.assertTrue(form.is_valid())

        repeater = Dhis2Repeater()
        repeater.dhis2_config = Dhis2Config.wrap(form.cleaned_data)
        with self.assertRaises(BadValueError) as e:
            repeater.save()
        self.assertEqual(
            six.text_type(e.exception),
            "Property data_element_id is required."
        )
Ejemplo n.º 5
0
    def test_full_config(self):
        config = {
            'form_configs':
            json.dumps([{
                'xmlns':
                'test_xmlns',
                'program_id':
                'test program',
                'event_date': {
                    'doc_type': 'FormQuestion',
                    'form_question': '/data/event_date'
                },
                'event_status':
                'COMPLETED',
                'org_unit_id': {
                    'doc_type': 'ConstantString',
                    'value': 'dhis2_location_id'
                },
                'datavalue_maps': [{
                    'data_element_id': 'dhis2_element_id',
                    'value': {
                        'doc_type': 'FormQuestion',
                        'form_question': '/data/example_question'
                    }
                }]
            }])
        }
        form = Dhis2ConfigForm(data=config)
        self.assertTrue(form.is_valid())

        repeater = Dhis2Repeater()
        repeater.dhis2_config = Dhis2Config.wrap(form.cleaned_data)
        repeater.save()
Ejemplo n.º 6
0
    def test_org_unit_id_migration(self):
        config = {
            'form_configs': json.dumps([{
                'program_id': 'test program',
                'org_unit_id': 'dhis2_location_id',
                'event_date': {
                    'doc_type': 'FormQuestion',
                    'form_question': '/data/event_date'
                },
                'datavalue_maps': [
                    {
                        'data_element_id': 'dhis2_element_id',
                        'value': {
                            'doc_type': 'FormQuestion',
                            'form_question': '/data/example_question'
                        }
                    }
                ]
            }])
        }
        form = Dhis2ConfigForm(data=config)
        self.assertTrue(form.is_valid())

        repeater = Dhis2Repeater()
        repeater.dhis2_config = Dhis2Config.wrap(form.cleaned_data)
        repeater.save()
        org_unit_value_source = dict(repeater.dhis2_config.form_configs[0].org_unit_id)
        self.assertDictEqual(org_unit_value_source, {
            'doc_type': 'ConstantString',
            'value': 'dhis2_location_id',
            'commcare_data_type': None,
            'external_data_type': None,
            'direction': None,
        })
Ejemplo n.º 7
0
    def test_minimal_config(self):
        config = {
            'form_configs': json.dumps([{
                'program_id': 'test program',
                'event_date': {
                    'doc_type': 'FormQuestion',
                    'form_question': '/data/event_date'
                },
                'datavalue_maps': [
                    {
                        'data_element_id': 'dhis2_element_id',
                        'value': {
                            'doc_type': 'FormQuestion',
                            'form_question': '/data/example_question'
                        }
                    }
                ]
            }])
        }
        form = Dhis2ConfigForm(data=config)
        self.assertTrue(form.is_valid())

        repeater = Dhis2Repeater()
        repeater.dhis2_config = Dhis2Config.wrap(form.cleaned_data)
        repeater.save()
Ejemplo n.º 8
0
    def test_full_config(self):
        config = {
            'form_configs': json.dumps([{
                'xmlns': 'test_xmlns',
                'program_id': 'test program',
                'event_date': {
                    'doc_type': 'FormQuestion',
                    'form_question': '/data/event_date'
                },
                'event_status': 'COMPLETED',
                'org_unit_id': {
                    'doc_type': 'ConstantString',
                    'value': 'dhis2_location_id'
                },
                'datavalue_maps': [
                    {
                        'data_element_id': 'dhis2_element_id',
                        'value': {
                            'doc_type': 'FormQuestion',
                            'form_question': '/data/example_question'
                        }
                    }
                ]
            }])
        }
        form = Dhis2ConfigForm(data=config)
        self.assertTrue(form.is_valid())

        repeater = Dhis2Repeater()
        repeater.dhis2_config = Dhis2Config.wrap(form.cleaned_data)
        repeater.save()
Ejemplo n.º 9
0
    def test_minimal_config(self):
        config = {
            'form_configs':
            json.dumps([{
                'program_id':
                'test program',
                'event_date': {
                    'doc_type': 'FormQuestion',
                    'form_question': '/data/event_date'
                },
                'datavalue_maps': [{
                    'data_element_id': 'dhis2_element_id',
                    'value': {
                        'doc_type': 'FormQuestion',
                        'form_question': '/data/example_question'
                    }
                }]
            }])
        }
        form = Dhis2ConfigForm(data=config)
        self.assertTrue(form.is_valid())

        repeater = Dhis2Repeater()
        repeater.dhis2_config = Dhis2Config.wrap(form.cleaned_data)
        repeater.save()
Ejemplo n.º 10
0
 def test_missing_event_date(self):
     config = {'form_configs': [{'program_id': 'test program'}]}
     repeater = Dhis2Repeater()
     repeater.dhis2_config = Dhis2Config.wrap(config)
     with self.assertRaises(BadValueError) as e:
         repeater.save()
     self.assertEqual(str(e.exception), 'Property event_date is required.')
Ejemplo n.º 11
0
 def test_empty_json(self):
     config = {
         'form_configs': [{}]
     }
     repeater = Dhis2Repeater()
     repeater.dhis2_config = Dhis2Config.wrap(config)
     with self.assertRaises(BadValueError) as e:
         repeater.save()
     self.assertEqual(
         six.text_type(e.exception),
         "Property program_id is required."
     )
Ejemplo n.º 12
0
 def test_missing_event_date(self):
     config = {
         'form_configs': [{
             'program_id': 'test program'
         }]
     }
     repeater = Dhis2Repeater()
     repeater.dhis2_config = Dhis2Config.wrap(config)
     with self.assertRaises(BadValueError) as e:
         repeater.save()
     self.assertEqual(
         six.text_type(e.exception),
         'Property event_date is required.'
     )