Feat: Export Ventas Para Tryton

This commit is contained in:
2024-09-07 14:58:11 -05:00
parent b81d95a9ba
commit a83cd970e6
7 changed files with 143 additions and 13 deletions

View File

@@ -11,7 +11,7 @@
"model": "don_confiao.productcategory",
"pk": 1,
"fields": {
"name": "Unidad",
"name": "Unidad"
}
},
{
@@ -20,7 +20,7 @@
"fields": {
"name": "Papaya",
"price": 2500,
"measuring_unit": "Unidad",
"measuring_unit": "Unidad"
}
},
{
@@ -32,5 +32,16 @@
"phone": 312201103,
"description": "Primera Venta"
}
}
},
{
"model": "don_confiao.saleline",
"pk": 1,
"fields": {
"sale": 1,
"product": 1,
"quantity": 10,
"unit_price": 5000,
"description": "Primer Sale Line"
}
}
]

View File

@@ -1,16 +1,50 @@
#!/usr/bin/env python3
from django.test import TestCase
from ..models import Sale
from django.test import Client, TestCase
from io import StringIO
import csv
class TestExportSales(TestCase):
fixtures = ['sales_fixture']
def setUp(self):
pass
self.client = Client()
def test_export_sales(self):
sales = self._export_sales_csv()
self.assertEqual(len(sales), 1)
sales_response = self._export_sales_csv()
filename = sales_response.headers[
'Content-Disposition'].split('; ')[1].strip('filename=').strip("'")
content = sales_response.content
content_str = content.decode('utf-8')
csv_file = StringIO(content_str)
header = next(csv.reader(csv_file))
self.assertGreater(len(content), 0)
self.assertEqual(filename, 'sales.csv')
self.assertEqual(sales_response.headers['Content-Type'], 'text/csv')
self.assertEqual(header, self._tryton_sale_header())
def _export_sales_csv(self):
raise Exception(Sale.objects.all())
return self.client.get("/don_confiao/exportar_ventas_para_tryton")
def _tryton_sale_header(self):
return [
"Tercero",
"Dirección de facturación",
"Dirección de envío",
"Descripción",
"Referencia",
"Fecha venta",
"Plazo de pago",
"Almacén",
"Moneda",
"Líneas/Producto",
"Líneas/Cantidad",
"Líneas/Precio unitario",
"Líneas/Unidad",
"Empresa",
"Tienda",
"Terminal de venta",
"Autorecogida",
"Comentario"
]