Feat: GET sales

This commit is contained in:
2024-12-29 19:29:01 -05:00
parent a1b947f852
commit cd1450e11b
3 changed files with 87 additions and 13 deletions

View File

@@ -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)