def test_cancel_card_purchase(self): account_obj = AccountFactory.create() wallet_obj = WalletFactory.create(owner_id=account_obj.id) WalletTrxFactory.create(wallet=wallet_obj, amount=Money(1000, 'SEK'), trx_status=TrxStatus.FINALIZED) product_obj1 = ProductFactory.create(code='1337733113370', name='Billys Original', price=Money(13, 'SEK')) product_obj2 = ProductFactory.create(code='7331733113370', name='Kebaba', price=Money(30, 'SEK')) products = [ (product_obj1.id, 3), (product_obj2.id, 1), ] purchase_obj = api.purchase(account_obj.id, products) api.cancel_purchase(purchase_obj.id) purchase_obj, _ = api.get_purchase(purchase_obj.id) self.assertEqual(purchase_obj.status, enums.PurchaseStatus.CANCELED) product_obj1.refresh_from_db() product_obj2.refresh_from_db() self.assertEqual(product_obj1.qty, 0) self.assertEqual(product_obj2.qty, 0) _, balance = wallet_api.get_balance(account_obj.id) self.assertEqual(balance, Money(1000, 'SEK')) _, balance = wallet_api.get_balance(settings.FOOBAR_MAIN_WALLET) self.assertEqual(balance, Money(0, 'SEK'))
def test_cancel_cash_purchase(self): product_obj1 = ProductFactory.create( code='1337733113370', name='Billys Original', price=Money(13, 'SEK') ) product_obj2 = ProductFactory.create( code='7331733113370', name='Kebaba', price=Money(30, 'SEK') ) products = [ (product_obj1.id, 3), (product_obj2.id, 1), ] purchase_obj = api.purchase(None, products) api.cancel_purchase(purchase_obj.id) purchase_obj, _ = api.get_purchase(purchase_obj.id) self.assertEqual(purchase_obj.status, enums.PurchaseStatus.CANCELED) product_obj1.refresh_from_db() product_obj2.refresh_from_db() self.assertEqual(product_obj1.qty, 0) self.assertEqual(product_obj2.qty, 0) _, balance = wallet_api.get_balance(settings.FOOBAR_CASH_WALLET) self.assertEqual(balance, Money(0, 'SEK'))
def test_get_purchase(self): account_obj = AccountFactory.create() wallet_obj = WalletFactory.create(owner_id=account_obj.id) WalletTrxFactory.create(wallet=wallet_obj, amount=Money(1000, 'SEK'), trx_status=TrxStatus.FINALIZED) product_obj1 = ProductFactory.create(code='1337733113370', name='Billys Original', price=Money(13, 'SEK')) products = [ (product_obj1.id, 3), ] purchase_obj = api.purchase(account_obj.id, products) obj = api.get_purchase(purchase_obj.id) self.assertIsNotNone(obj)