diff --git a/tienda_ilusion/don_confiao/api_views.py b/tienda_ilusion/don_confiao/api_views.py index 95be792..d8c6ffa 100644 --- a/tienda_ilusion/don_confiao/api_views.py +++ b/tienda_ilusion/don_confiao/api_views.py @@ -27,7 +27,10 @@ class SaleView(viewsets.ModelViewSet): unit_price=unit_price ) - return Response({'message': 'Venta creada con exito'}, status=201) + return Response( + {'id': sale.id, 'message': 'Venta creada con exito'}, + status=201 + ) class ProductView(viewsets.ModelViewSet): diff --git a/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/Purchase.vue b/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/Purchase.vue index d542324..389d073 100644 --- a/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/Purchase.vue +++ b/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/Purchase.vue @@ -270,7 +270,10 @@ if (response.ok) { const data = await response.json(); console.log('Compra enviada:', data); - this.$router.push("SummaryPurchase"); + this.$router.push({ + path: "/summary_purchase", + query : {id: parseInt(data.id)} + }); } else { console.error('Error al enviar la compra:', response.statusText); } diff --git a/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/SummaryPurchase.vue b/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/SummaryPurchase.vue index eac9264..7717b1a 100644 --- a/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/SummaryPurchase.vue +++ b/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/SummaryPurchase.vue @@ -38,7 +38,7 @@ {{ currencyFormat(item.unit_price) }} @@ -86,13 +86,13 @@ }, calculateSubtotal(price, quantity) { price = parseFloat(price || 0); - quantity = parseFloat(price || 0); + quantity = parseFloat(quantity || 0); return price * quantity; }, calculateTotal(lines) { let total = 0; lines.forEach(line => { - total += this.calculateSubtotal(line.price, line.quantity); + total += this.calculateSubtotal(line.unit_price, line.quantity); }); return total; } diff --git a/tienda_ilusion/don_confiao/tests/test_api.py b/tienda_ilusion/don_confiao/tests/test_api.py index 1c9a312..99c923e 100644 --- a/tienda_ilusion/don_confiao/tests/test_api.py +++ b/tienda_ilusion/don_confiao/tests/test_api.py @@ -18,12 +18,18 @@ class TestAPI(APITestCase): def test_create_sale(self): response = self._create_sale() + content = json.loads(response.content.decode('utf-8')) self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(Sale.objects.count(), 1) + sale = Sale.objects.all()[0] self.assertEqual( - Sale.objects.all()[0].customer.name, + sale.customer.name, self.customer.name ) + self.assertEqual( + sale.id, + content['id'] + ) def test_get_products(self): url = '/don_confiao/api/products/'