Exemplo n.º 1
0
 def setUp(self):
     loc_tree = Mock()
     loc_tree.get_hierarchy_path.return_value = ['hierarchy']
     dbm = Mock(spec=DatabaseManager)
     form_model = Mock(spec=FormModel)
     location_field = Mock(spec=HierarchyField)
     form_model.get_field_by_name.return_value= location_field
     location_field.code='l'
     self.registration_workflow = RegistrationWorkFlow(dbm, form_model, loc_tree)
Exemplo n.º 2
0
class TestBasePlayer(TestCase):
    def setUp(self):
        loc_tree = Mock()
        loc_tree.get_hierarchy_path.return_value = ['hierarchy']
        dbm = Mock(spec=DatabaseManager)
        form_model = Mock(spec=FormModel)
        location_field = Mock(spec=HierarchyField)
        form_model.get_field_by_name.return_value= location_field
        location_field.code='l'
        self.registration_workflow = RegistrationWorkFlow(dbm, form_model, loc_tree)

    def test_should_not_resolve_location_hierarchy_if_hierarchy_already_passed_in(self):
        values = dict(l='a,b,c', t='clinic')
        self.registration_workflow._set_location_data(values=values)
        self.assertEqual(['c', 'b', 'a'], values['l'])
Exemplo n.º 3
0
 def test_should_generate_default_code_if_short_code_is_empty(self):
     registration_work_flow = RegistrationWorkFlow(self.dbm,
                                                   self.form_model_mock,
                                                   DummyLocationTree())
     self.form_model_mock.get_short_code = Mock(return_value=None)
     self.form_model_mock.entity_type = ['clinic']
     self.form_model_mock.entity_questions = [
         ShortCodeField(name="entity question", code="s", label="bar")
     ]
     values = registration_work_flow.process({'t': 'clinic', 'l': 'pune'})
     self.assertEqual(
         {
             's': 'cli1',
             't': 'clinic',
             'l': ['pune', 'mh', 'india']
         }, values)
Exemplo n.º 4
0
 def _submit_subject(self, form_model, values, location_tree):
     try:
         values = RegistrationWorkFlow(self.dbm, form_model,
                                       location_tree).process(values)
         form_model.bind(values)
         cleaned_data, errors = form_model.validate_submission(
             values=values)
         handler = handler_factory(self.dbm, form_model)
         response = handler.handle(form_model, cleaned_data, errors, [],
                                   location_tree)
         return response
     except MangroveException:
         raise
Exemplo n.º 5
0
 def test_should_set_location_data(self):
     self._generate_short_code_if_empty_patch = patch(
         'mangrove.transport.work_flow.RegistrationWorkFlow._generate_short_code_if_empty'
     )
     self._generate_short_code_if_empty_mock = self._generate_short_code_if_empty_patch.start(
     )
     self.process_submission_patch = patch(
         'mangrove.form_model.location.Location.process_submission')
     self.process_submission_mock = self.process_submission_patch.start()
     values = ['a', 'b']
     RegistrationWorkFlow(self.dbm, self.form_model_mock,
                          DummyLocationTree()).process(values)
     self.assertEquals(1, self.process_submission_mock.call_count)
     self._generate_short_code_if_empty_patch.stop()
     self.process_submission_patch.stop()
Exemplo n.º 6
0
 def _process(self, values, form_code, reporter_entity):
     form_model = get_form_model_by_code(self.dbm, form_code)
     if form_model.is_entity_registration_form():
         values = RegistrationWorkFlow(self.dbm, form_model, self.location_tree).process(values)
     return form_model, values
Exemplo n.º 7
0
 def _process(self, form_code, values):
     form_model = get_form_model_by_code(self.dbm, form_code)
     values = RegistrationWorkFlow(self.dbm, form_model, self.location_tree).process(values)
     return form_model, values
Exemplo n.º 8
0
 def _process(self, form_model, values):
     if form_model.is_entity_registration_form():
         values = RegistrationWorkFlow(self.dbm, form_model,
                                       self.location_tree).process(values)
     return values