diff --git a/tienda_ilusion/don_confiao/serializers.py b/tienda_ilusion/don_confiao/serializers.py index ccf992e..feba9e9 100644 --- a/tienda_ilusion/don_confiao/serializers.py +++ b/tienda_ilusion/don_confiao/serializers.py @@ -38,6 +38,7 @@ class SaleSerializer(serializers.ModelSerializer): class CatalogSaleLineSerializer(serializers.ModelSerializer): class Meta: model = CatalogSaleLine + read_only_fields = ["catalog_sale"] fields = [ "id", "catalog_sale", @@ -48,9 +49,7 @@ class CatalogSaleLineSerializer(serializers.ModelSerializer): class CatalogSaleSerializer(serializers.ModelSerializer): - catalogsaleline_set = CatalogSaleLineSerializer( - many=True, required=False - ) + catalogsaleline_set = CatalogSaleLineSerializer(many=True, required=False) total = serializers.ReadOnlyField(source="get_total") class Meta: @@ -67,9 +66,7 @@ class CatalogSaleSerializer(serializers.ModelSerializer): lines_data = validated_data.pop("catalogsaleline_set", []) catalog_sale = CatalogSale.objects.create(**validated_data) for line_data in lines_data: - CatalogSaleLine.objects.create( - catalog_sale=catalog_sale, **line_data - ) + CatalogSaleLine.objects.create(catalog_sale=catalog_sale, **line_data) return catalog_sale diff --git a/tienda_ilusion/don_confiao/tests/test_api.py b/tienda_ilusion/don_confiao/tests/test_api.py index 95b4bb1..a49815d 100644 --- a/tienda_ilusion/don_confiao/tests/test_api.py +++ b/tienda_ilusion/don_confiao/tests/test_api.py @@ -17,9 +17,7 @@ class TestAPI(APITestCase, LoginMixin): self.product = Product.objects.create( name="Panela", price=5000, measuring_unit="UNIT" ) - self.customer = Customer.objects.create( - name="Camilo", external_id="18" - ) + self.customer = Customer.objects.create(name="Camilo", external_id="18") def test_create_sale(self): response = self._create_sale() @@ -42,6 +40,7 @@ class TestAPI(APITestCase, LoginMixin): sale = CatalogSale.objects.all()[0] self.assertEqual(sale.customer.name, self.customer.name) self.assertEqual(sale.id, content["id"]) + self.assertEqual(sale.catalogsaleline_set.count(), 2) def test_create_sale_with_decimal(self): response = self._create_sale_with_decimal() @@ -66,9 +65,7 @@ class TestAPI(APITestCase, LoginMixin): json_response = json.loads(response.content.decode("utf-8")) self.assertEqual(response.status_code, 200) self.assertEqual(self.customer.name, json_response[0]["name"]) - self.assertEqual( - self.customer.external_id, json_response[0]["external_id"] - ) + self.assertEqual(self.customer.external_id, json_response[0]["external_id"]) def test_get_sales(self): url = "/don_confiao/api/sales/" @@ -190,8 +187,7 @@ class TestAPI(APITestCase, LoginMixin): data = { "customer": self.customer.id, "date": "2024-09-02", - "payment_method": "CASH", - "saleline_set": [ + "catalogsaleline_set": [ { "product": self.product.id, "quantity": 2, @@ -203,7 +199,6 @@ class TestAPI(APITestCase, LoginMixin): "unit_price": 5000, }, ], - "catalog_sale": True, } return self.client.post(url, data, format="json")