def test_should_get_po_item_for_so_item(self): item = create_item(self) sales_order = create_sales_order(self) sales_order_details = {'sales_order': sales_order['id'], 'item': item['id'], 'quantity': 23, 'net_price': 12000.0, 'net_value': 100.0, 'issue_date': '2014-01-21', 'delivery_date': '2014-01-21', 'item_number': 10} created_sales_order_item = create_sales_order_item(self, sales_order_details) purchase_order_details = { 'order_number': 20156023, 'date': '2014-11-07', 'sales_order': sales_order['id'], 'programme': sales_order['programme'] } created_purchase_order = create_purchase_order(self, purchase_order_details) purchase_order_item_details = { 'purchase_order': created_purchase_order['id'], 'item_number': item['id'], 'quantity': 12000, 'value': 100.0, 'sales_order_item': created_sales_order_item['id'] } created_purchase_order_item = create_purchase_order_item(self, purchase_order_item_details) po_details = {u'id': created_purchase_order['id'], 'order_number': created_purchase_order['order_number'], 'date': created_purchase_order['date'], 'sales_order': sales_order['id']} po_item_details = { u'id': created_purchase_order_item['id'], 'item_number': item['id'], 'purchase_order': po_details, 'sales_order_item': created_sales_order_item['id'], 'quantity': 12000, 'value': 100.0 } get_response = self.client.get(PO_ITEM_FOR_SO_ITEM_ENDPOINT_URL + str(created_sales_order_item['id'])+'/') self.assertEqual(get_response.status_code, 200) self.assertEqual(po_item_details, get_response.data)
def test_should_create_sales_order(self): item = create_item(self) sales_order = create_sales_order(self) sales_order_details = {'sales_order': sales_order['id'], 'item': item['id'], 'quantity': 23, 'net_price': 12000.0, 'net_value': 100.0, 'issue_date': '2014-01-21', 'delivery_date': '2014-01-21'} created_sales_order = create_sales_order_item(self, sales_order_details) self.assertDictContainsSubset(sales_order_details, created_sales_order)
def test_should_create_sales_order(self): item = ItemFactory() sales_order = SalesOrderFactory() sales_order_item_details = {'sales_order': sales_order.id, 'item': item.id, 'quantity': 23, 'net_price': 12000.0, 'net_value': 100.0, 'issue_date': '2014-01-21', 'delivery_date': '2014-01-21', 'item_number': 10} created_sales_order_item = create_sales_order_item(self, sales_order_item_details) self.assertDictContainsSubset(sales_order_item_details, created_sales_order_item) self.assertDictContainsSubset({'distributionplanlineitem_set': []}, created_sales_order_item)
def test_should_create_distribution_plan_node_without_parent_node(self): plan_id = DistributionPlanFactory().id consignee_id = create_consignee(self)['id'] sales_order_item = create_sales_order_item(self) node_details = {'item': sales_order_item['id'], 'targeted_quantity': 10, 'delivery_date': '2014-01-21', 'distribution_plan': plan_id, 'tree_position': self.MIDDLEMAN_POSITION, 'contact_person_id': u'1234', 'consignee': consignee_id, 'location': 'Kampala'} created_node_data = create_distribution_plan_node(self, node_details) self.assertDictContainsSubset(node_details, created_node_data)
def test_should_create_node_of_type_end_user(self): plan_id = DistributionPlanFactory().id consignee = create_consignee(self) sales_order_item = create_sales_order_item(self) node_details = {'item': sales_order_item['id'], 'targeted_quantity': 10, 'delivery_date': '2014-01-21', 'distribution_plan': plan_id, 'consignee': consignee['id'], 'tree_position': self.END_USER_POSITION, 'location': 'Kampala', 'contact_person_id': u'1234'} node = create_distribution_plan_node(self, node_details=node_details) response = self.client.get("%s%d/" % (ENDPOINT_URL, node['id'])) self.assertDictContainsSubset({'tree_position': node['tree_position']}, response.data)
def test_should_create_sales_order(self): item = create_item(self) sales_order = create_sales_order(self) sales_order_details = { 'sales_order': sales_order['id'], 'item': item['id'], 'quantity': 23, 'net_price': 12000.0, 'net_value': 100.0, 'issue_date': '2014-01-21', 'delivery_date': '2014-01-21' } created_sales_order = create_sales_order_item(self, sales_order_details) self.assertDictContainsSubset(sales_order_details, created_sales_order)
def test_should_create_distribution_plan_line_item(self): item_unit = ItemUnit.objects.create(name='EA') item = Item.objects.create(description='Item 1', unit=item_unit) sales_order = create_sales_order(self) sales_order_details = {'sales_order': sales_order['id'], 'item': item.id, 'quantity': 23, 'net_price': 12000.0, 'net_value': 100.0, 'issue_date': '2014-01-21', 'delivery_date': '2014-01-21'} sales_item_id = create_sales_order_item(self, sales_order_details)['id'] node = create_distribution_plan_node(self) item_details = {'item': sales_item_id, 'targeted_quantity': 10, 'planned_distribution_date': '2014-01-21', 'remark': "Dispatched", 'distribution_plan_node': node['id']} returned_item = create_distribution_plan_line_item(self, item_details) self.assertDictContainsSubset(item_details, returned_item)
def test_should_search_for_consignee_at_top_level(self): partner = ConsigneeFactory(name='Save the Children', type='implementing_partner') consignee = ConsigneeFactory(name='Kibuli DHO', type='middle_man') plan_id = DistributionPlanFactory(consignee=consignee).id item = create_sales_order_item(self) node_details = {'item': item['id'], 'targeted_quantity': 1, 'distribution_plan': plan_id, 'delivery_date': '2015-04-23', 'consignee': partner.id, 'tree_position': 'END_USER', 'location': 'Kampala', 'contact_person_id': u'1234', } create_distribution_plan_node(self, node_details) get_response = self.client.get(ENDPOINT_URL + '?node=top') self.assertEqual(get_response.status_code, 200) self.assertDictContainsSubset({'id': partner.id, 'name': partner.name}, get_response.data[0]) self.assertEqual(1, len(get_response.data)) get_response = self.client.get(ENDPOINT_URL + '?node=1') self.assertEqual(get_response.status_code, 200) self.assertEqual(2, len(get_response.data))