diff --git a/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html b/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html index 4386551..0a23b0e 100644 --- a/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html +++ b/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html @@ -1,6 +1,9 @@ {% extends 'don_confiao/base.html' %} {% block content %} {% load static %} +
@@ -15,7 +18,6 @@
{% endfor %}
-
@@ -26,6 +28,7 @@ {{ summary_form }} + diff --git a/tienda_ilusion/don_confiao/tests/test_buy_form.py b/tienda_ilusion/don_confiao/tests/test_buy_form.py new file mode 100644 index 0000000..5a61817 --- /dev/null +++ b/tienda_ilusion/don_confiao/tests/test_buy_form.py @@ -0,0 +1,22 @@ +from django.test import Client, TestCase +from ..models import Product + + +class TestBuyForm(TestCase): + def setUp(self): + self.client = Client() + self.product = Product() + self.product.name = "Arroz" + self.product.price = 5000 + self.product.save() + + def test_buy_contains_products_list(self): + response = self.client.get('/don_confiao/comprar') + self.assertIn( + self.product.name, + response.context['list_products'] + ) + content = response.content.decode('utf-8') + self.assertIn('5000', content) + self.assertIn('Arroz', content) + self.assertIn(str(self.product.id), content) diff --git a/tienda_ilusion/don_confiao/views.py b/tienda_ilusion/don_confiao/views.py index 962c605..35b0e0d 100644 --- a/tienda_ilusion/don_confiao/views.py +++ b/tienda_ilusion/don_confiao/views.py @@ -8,8 +8,16 @@ from .forms import ImportProductsForm, PurchaseForm, SaleLineFormSet, Reconcilia import csv import io +import json +from decimal import Decimal +class DecimalEncoder(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, Decimal): + return float(obj) + return json.JSONEncoder.default(self, obj) + def index(request): return render(request, 'don_confiao/index.html') @@ -47,6 +55,7 @@ def buy(request): 'sale_form': sale_form, 'linea_formset': line_formset, 'summary_form': sale_summary_form, + 'list_products': json.dumps(Product.to_list(), cls=DecimalEncoder), } )