def test_should_build_contact_with_details_from_contacts_service(self, mock_get): contact_id = '54335c56b3ae9d92f038abb0' fake_contact_json = {'firstName': "test", 'lastName': "user1", 'phone': "+256 782 443439", '_id': contact_id} fake_response = FakeResponse(fake_contact_json, 200) node = NodeFactory(contact_person_id=contact_id) mock_get.return_value = fake_response contact = node.build_contact() self.assertEqual(contact, fake_contact_json) mock_get.assert_called_with("%s%s/" % (settings.CONTACTS_SERVICE_URL, contact_id))
def setUp(self): self.contact = {'first_name': 'Test', 'last_name': 'User', 'phone': '+256 772 123456'} node = NodeFactory() self.line_item = DistributionPlanLineItemFactory(distribution_plan_node=node) local_celery.app.control.revoke = MagicMock(return_value=None) node.build_contact = MagicMock(return_value=self.contact) Node.objects.get = MagicMock(return_value=node) DistributionPlanLineItem.objects.get = MagicMock(return_value=self.line_item) self.MIDDLEMAN_FLOW_ID = FlowFactory(for_node_type=Node.MIDDLE_MAN).rapid_pro_id self.END_USER_FLOW_ID = FlowFactory(for_node_type=Node.END_USER).rapid_pro_id
def test_should_schedule_end_user_flow_if_node_tree_position_is_end_user(self, mock_current_run_for_node): node = NodeFactory(tree_position=Node.END_USER) node.build_contact = MagicMock(return_value=self.contact) mock_current_run_for_node.return_value = None Node.objects.get = MagicMock(return_value=node) schedule_run_for(node) mock_start_delivery_run.assert_called_with( contact_person=self.contact, flow=self.END_USER_FLOW_ID, item_description=ANY, sender=ANY )
def test_should_schedule_middleman_flow_if_node_tree_position_is_middleman(self, mock_current_run_for_node): node = NodeFactory(tree_position=Node.MIDDLE_MAN) node.build_contact = MagicMock(return_value=self.contact) line_item = DistributionPlanLineItemFactory(distribution_plan_node=node) mock_current_run_for_node.return_value = None DistributionPlanLineItem.objects.get = MagicMock(return_value=line_item) Node.objects.get = MagicMock(return_value=node) schedule_run_for(line_item) mock_start_delivery_run.assert_called_with(contact_person=self.contact, flow=self.MIDDLEMAN_FLOW_ID, item_description=ANY, sender=ANY)
def test_should_schedule_flow_with_sender_as_parent_node_consignee_name_if_node_has_parent(self): sender_org_name = "Dwelling Places" sender_org = ConsigneeFactory(name=sender_org_name) parent_node = NodeFactory(consignee=sender_org) node = NodeFactory(consignee=sender_org, parent=parent_node) node.build_contact = MagicMock(return_value=self.contact) Node.objects.get = MagicMock(return_value=node) node.consignee.build_contact = MagicMock(return_value=self.contact) schedule_run_for(node) mock_start_delivery_run.assert_called_with( contact_person=self.contact, flow=ANY, sender=sender_org_name, item_description=node.item.item.description )