def test_should_decrease_balance_when_saving_tracked_or_not_tracked_nodes(self):
        purchase_order_item = PurchaseOrderItemFactory(quantity=500)

        delivery = DeliveryFactory()
        DeliveryNodeFactory(item=purchase_order_item, quantity=200, distribution_plan=delivery)
        self.assertEquals(purchase_order_item.available_balance(), 300)
        self.assertEquals(purchase_order_item.quantity_shipped(), 200)

        delivery.track = True
        delivery.save()
        self.assertEquals(purchase_order_item.available_balance(), 300)
        self.assertEquals(purchase_order_item.quantity_shipped(), 200)

        tracked_delivery = DeliveryFactory(track=True)
        DeliveryNodeFactory(item=purchase_order_item, quantity=120, distribution_plan=tracked_delivery)
        self.assertEquals(purchase_order_item.available_balance(), 180)
        self.assertEquals(purchase_order_item.quantity_shipped(), 320)
Example #2
0
    def test_should_decrease_balance_when_saving_tracked_or_not_tracked_nodes(
            self):
        purchase_order_item = PurchaseOrderItemFactory(quantity=500)

        delivery = DeliveryFactory()
        DeliveryNodeFactory(item=purchase_order_item,
                            quantity=200,
                            distribution_plan=delivery)
        self.assertEquals(purchase_order_item.available_balance(), 300)
        self.assertEquals(purchase_order_item.quantity_shipped(), 200)

        delivery.track = True
        delivery.save()
        self.assertEquals(purchase_order_item.available_balance(), 300)
        self.assertEquals(purchase_order_item.quantity_shipped(), 200)

        tracked_delivery = DeliveryFactory(track=True)
        DeliveryNodeFactory(item=purchase_order_item,
                            quantity=120,
                            distribution_plan=tracked_delivery)
        self.assertEquals(purchase_order_item.available_balance(), 180)
        self.assertEquals(purchase_order_item.quantity_shipped(), 320)