diff --git a/apps/wallet/tests/application.py b/apps/wallet/tests/application.py index 486a5bd..b122476 100755 --- a/apps/wallet/tests/application.py +++ b/apps/wallet/tests/application.py @@ -172,86 +172,37 @@ class ApplicationApiFlowsTests(APITestCase): to_wallet = response.json()['results'][0] self.assertEqual(to_wallet['balance'], 100) - def test_deposit_flow_wallet_success(self): - auth = self._create_authorization_header(self.application_access_token.token) - - # Checking wallets initials values(application balance = 300 and payee balance = zero) - kwargs_wallet_uuid = { - 'wallet_uuid': self.wallet_rial_uuid - } - response = self.client.get(reverse('wallet:application_account_balance_api', kwargs=kwargs_wallet_uuid), HTTP_AUTHORIZATION=auth) - self.assertContains(response, 'balance') - self.assertEqual(response.json()['balance'], 300) - kwargs_wallet_uuid_payee_uuid = { - 'wallet_uuid': self.wallet_rial_uuid, - 'uuid': self.payee_uuid, - } - response = self.client.get(reverse('wallet:application_user_wallet_balance_api', kwargs=kwargs_wallet_uuid_payee_uuid), HTTP_AUTHORIZATION=auth) - self.assertContains(response, 'balance') - self.assertEqual(response.json()['balance'], 0) - - # Deposit process - data = { - 'amount': 100, - 'payee': self.payee_uuid, - 'payee_type': TypeChoices.USER, - 'payee_account': self.wallet_rial_uuid - } - response = self.client.post(reverse('wallet:application_deposit_submit_api', kwargs=kwargs_wallet_uuid), data=data, HTTP_AUTHORIZATION=auth) - self.assertEqual(response.status_code, 201) - json_response = response.json() - - kwargs_wallet_uuid_transaction_uuid = { - 'wallet_uuid': self.wallet_rial_uuid, - 'uuid': json_response['uuid'], - } - response = self.client.get(reverse('wallet:application_deposit_verify_api', kwargs=kwargs_wallet_uuid_transaction_uuid), HTTP_AUTHORIZATION=auth) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.json()['state'], 5) - - # Desired results - response = self.client.get(reverse('wallet:application_account_balance_api', kwargs=kwargs_wallet_uuid), HTTP_AUTHORIZATION=auth) - self.assertContains(response, 'balance') - self.assertEqual(response.json()['balance'], 200) - - kwargs_wallet_uuid_payee_uuid = { - 'wallet_uuid': self.wallet_reward_uuid, - 'uuid': self.payee_uuid, - } - - response = self.client.get(reverse('wallet:application_user_wallet_balance_api', kwargs=kwargs_wallet_uuid_payee_uuid), HTTP_AUTHORIZATION=auth) - self.assertGreater(response.json()['count'], 1) - to_wallet = response.json()['results'][0] - self.assertEqual(to_wallet['balance'], 100) - - def test_deposit_flow_insufficient_balance(self): auth = self._create_authorization_header(self.application_access_token.token) # Checking wallets initials values(application balance = 300 and payee balance = zero) - response = self.client.get(reverse('wallet:application_account_balance_api'), HTTP_AUTHORIZATION=auth) - self.assertContains(response, 'balance') - self.assertEqual(response.json()['balance'], 300) + wallets = [self.wallet_rial_uuid.hex, self.wallet_reward_uuid.hex] + wallets = [self.wallet_rial_uuid.hex, self.wallet_reward_uuid.hex] + response = self.client.get(reverse('wallet:application_account_balance_api'), query_params={'wallet': ','.join(wallets)}, HTTP_AUTHORIZATION=auth) + self.assertGreater(response.json()['count'], 1) + from_wallet = response.json()['results'][0] + self.assertEqual(from_wallet['balance'], 300) params = { - 'uuid': self.payee_uuid, + 'user': self.payee_uuid, } - kwargs_wallet_uuid_payee_uuid = { - 'wallet_uuid': self.wallet_rial_uuid, - } - - response = self.client.get(reverse('wallet:application_user_wallet_balance_api', kwargs=params), HTTP_AUTHORIZATION=auth) - self.assertContains(response, 'balance') - self.assertEqual(response.json()['balance'], 0) + response = self.client.get(reverse('wallet:application_user_account_api', kwargs=params), query_params={'wallet': ','.join(wallets)}, HTTP_AUTHORIZATION=auth) + self.assertGreater(response.json()['count'], 1) + to_wallet = response.json()['results'][0] + self.assertEqual(to_wallet['balance'], 0) # Deposit process data = { 'amount': 500, 'payee': self.payee_uuid, 'payee_type': TypeChoices.USER, - 'payee_account': self.wallet_rial_uuid + 'payee_wallet': self.wallet_rial_uuid, } - response = self.client.post(reverse('wallet:application_deposit_submit_api', kwargs=kwargs_wallet_uuid_payee_uuid), data=data, HTTP_AUTHORIZATION=auth) + kwargs_payer_wallet = { + 'payer_wallet': self.wallet_rial_uuid, + } + response = self.client.post(reverse('wallet:application_deposit_submit_api', kwargs=kwargs_payer_wallet), + data=data, HTTP_AUTHORIZATION=auth) self.assertEqual(response.status_code, 422) @override_settings(ALLOWED_NEGATIVE_BALANCE_APPLICATIONS=['b14e8b86-8f4a-44d9-b29d-badceb470053'])