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)
Пример #8
0
    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))