def test_trade_on_another_branch(self): sale_branch = self.current_branch return_branch = self.create_branch() product = self.create_product(branch=sale_branch, stock=5) sale = self.create_sale(branch=sale_branch) sale_item = sale.add_sellable(sellable=product.sellable) storable = product.storable sale.order(self.current_user) self.add_payments(sale) sale.confirm(self.current_user) self.assertEqual(storable.get_balance_for_branch(sale_branch), 4) returned_sale = ReturnedSale(store=self.store, station=self.current_station, responsible=self.current_user, sale=sale, branch=return_branch) ReturnedSaleItem(store=self.store, quantity=1, price=10, sale_item=sale_item, returned_sale=returned_sale) new_sale = self.create_sale(branch=return_branch) returned_sale.new_sale = new_sale returned_sale.trade(self.current_user) self.assertEqual(returned_sale.status, ReturnedSale.STATUS_PENDING) self.assertEqual(storable.get_balance_for_branch(sale_branch), 4) self.assertEqual(storable.get_balance_for_branch(return_branch), 0) # This sale is returned in the return_branch, so the stock for the original sale branch is # the same, but the return branch has a new stock item returned_sale.confirm(self.current_user) self.assertEqual(returned_sale.status, ReturnedSale.STATUS_CONFIRMED) self.assertEqual(storable.get_balance_for_branch(sale_branch), 4) self.assertEqual(storable.get_balance_for_branch(return_branch), 1)
def test_trade_on_another_branch(self): sale_branch = get_current_branch(self.store) return_branch = self.create_branch() current_user = get_current_user(self.store) product = self.create_product(branch=sale_branch, stock=5) sale = self.create_sale(branch=sale_branch) sale_item = sale.add_sellable(sellable=product.sellable) storable = product.storable sale.order() self.add_payments(sale) sale.confirm() self.assertEqual(storable.get_balance_for_branch(sale_branch), 4) returned_sale = ReturnedSale(store=self.store, responsible=current_user, sale=sale, branch=return_branch) ReturnedSaleItem(store=self.store, quantity=1, price=10, sale_item=sale_item, returned_sale=returned_sale) new_sale = self.create_sale(branch=return_branch) returned_sale.new_sale = new_sale returned_sale.trade() self.assertEqual(returned_sale.status, ReturnedSale.STATUS_PENDING) self.assertEqual(storable.get_balance_for_branch(sale_branch), 4) self.assertEqual(storable.get_balance_for_branch(return_branch), 0) returned_sale.confirm(current_user) self.assertEqual(returned_sale.status, ReturnedSale.STATUS_CONFIRMED) self.assertEqual(storable.get_balance_for_branch(sale_branch), 5) self.assertEqual(storable.get_balance_for_branch(return_branch), 0)
def test_trade_on_another_branch(self): sale_branch = get_current_branch(self.store) return_branch = self.create_branch() current_user = get_current_user(self.store) product = self.create_product(branch=sale_branch, stock=5) sale = self.create_sale(branch=sale_branch) sale_item = sale.add_sellable(sellable=product.sellable) storable = product.storable sale.order() self.add_payments(sale) sale.confirm() self.assertEqual(storable.get_balance_for_branch(sale_branch), 4) returned_sale = ReturnedSale(store=self.store, responsible=current_user, sale=sale, branch=return_branch) ReturnedSaleItem(store=self.store, quantity=1, price=10, sale_item=sale_item, returned_sale=returned_sale) new_sale = self.create_sale(branch=return_branch) returned_sale.new_sale = new_sale returned_sale.trade() self.assertEqual(returned_sale.status, ReturnedSale.STATUS_PENDING) self.assertEqual(storable.get_balance_for_branch(sale_branch), 4) self.assertEqual(storable.get_balance_for_branch(return_branch), 0) returned_sale.confirm(current_user) self.assertEqual(returned_sale.status, ReturnedSale.STATUS_CONFIRMED) self.assertEqual(storable.get_balance_for_branch(sale_branch), 5) self.assertEqual(storable.get_balance_for_branch(return_branch), 0)