Feat: Export Ventas Para Tryton
This commit is contained in:
@@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user