Feat: GET sales
This commit is contained in:
		| @@ -5,6 +5,7 @@ import uuid | ||||
| import json | ||||
| from trytond.tests.test_tryton import DB_NAME | ||||
| from trytond.transaction import Transaction | ||||
| from decimal import Decimal | ||||
|  | ||||
|  | ||||
| class DonConfiaoApiRouteTestCase( | ||||
| @@ -19,11 +20,8 @@ class DonConfiaoApiRouteTestCase( | ||||
|     def setUpDatabase(cls): | ||||
|         pool = Pool() | ||||
|         Application = pool.get('res.user.application') | ||||
|         Company = pool.get('company.company') | ||||
|         Party = pool.get('party.party') | ||||
|  | ||||
|         # Product = pool.get('product.product') | ||||
|  | ||||
|         Application( | ||||
|             key=cls.key, | ||||
|             user=1, | ||||
| @@ -34,12 +32,6 @@ class DonConfiaoApiRouteTestCase( | ||||
|         customer.name = 'Dunkan' | ||||
|         customer.save() | ||||
|  | ||||
|         company = Company( | ||||
|             party=1, | ||||
|             currency=1 | ||||
|         ) | ||||
|         company.save() | ||||
|  | ||||
|     def test_get_parties(self): | ||||
|         client = self.client() | ||||
|         response = client.get( | ||||
| @@ -111,3 +103,63 @@ class DonConfiaoApiRouteTestCase( | ||||
|             response.get_data().decode()) | ||||
|         self.assertEqual(response.status_code, HTTPStatus.OK) | ||||
|         self.assertEqual(len(products), 1) | ||||
|  | ||||
|     def test_get_sales(self): | ||||
|         pool = Pool(DB_NAME) | ||||
|         transaction = Transaction().start(DB_NAME, user=0, _lock_tables=[ | ||||
|             'product_product']) | ||||
|         with transaction: | ||||
|             Company = pool.get( | ||||
|                 'company.company') | ||||
|             Currency = pool.get('currency.currency') | ||||
|             Sale = pool.get('sale.sale') | ||||
|             currency, = Currency.create([{ | ||||
|                 'name': 'COP', | ||||
|                 'code': 'COP' | ||||
|             }]) | ||||
|             company, = Company.create([{ | ||||
|                 'party': 1, | ||||
|                 'currency': currency.id | ||||
|             }]) | ||||
|  | ||||
|             ProductTemplate = pool.get('product.template') | ||||
|             Product = pool.get('product.product') | ||||
|             Uom = pool.get('product.uom') | ||||
|             template, = ProductTemplate.create([ | ||||
|                 {'name': 'Product', | ||||
|                  'salable': True, | ||||
|                  'default_uom': Uom.search([('name', '=', 'Unit')])[0].id, | ||||
|                  'sale_uom': Uom.search([('name', '=', 'Unit')])[0].id | ||||
|                  } | ||||
|             ]) | ||||
|  | ||||
|             product, = Product.create([ | ||||
|                 {'template': template.id}]) | ||||
|  | ||||
|             sale, = Sale.create([{ | ||||
|                 'party': 1, | ||||
|                 'company': 1, | ||||
|                 'currency': 1, | ||||
|                 'lines': [['create', [{ | ||||
|                     'type': 'line', | ||||
|                     'product': product.id, | ||||
|                     'quantity': 1, | ||||
|                     'unit_price': Decimal(10), | ||||
|                     'unit': Uom.search([('name', '=', 'Unit')])[0].id | ||||
|                 }]]], | ||||
|                 'state': 'draft' | ||||
|             }]) | ||||
|  | ||||
|             self.assertIsInstance(sale, Sale) | ||||
|             self.assertEqual(sale.state, 'draft') | ||||
|  | ||||
|         client = self.client() | ||||
|         response = client.get( | ||||
|             f'/{self.db_name}/sale_don_confiao/sales', | ||||
|             headers={ | ||||
|                 'Authorization': f'bearer {self.key}', | ||||
|             }, data=json.dumps({ | ||||
|                 'company': company.id | ||||
|             })) | ||||
|  | ||||
|         self.assertEqual(response.status_code, HTTPStatus.OK) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user