Feat: enviando las categorias en la lista de productos.

This commit is contained in:
Mono Mono 2024-06-29 15:45:05 -05:00
parent ef0c0c52db
commit 252720b324
2 changed files with 17 additions and 9 deletions

View File

@ -17,13 +17,14 @@ class TestProducts(TestCase):
example_csv = os.path.join(app_dir, 'example_products.csv')
products_in_example = 3
with open(example_csv, 'rb') as csv:
response = self.client.post(
self.client.post(
"/don_confiao/importar_productos",
{"csv_file": csv}
)
products_response = self.client.get("/don_confiao/productos")
products = json.loads(products_response.content.decode('utf-8'))
self.assertEqual(
len(products),
products_in_example
)
products_response = self.client.get("/don_confiao/productos")
all_products = json.loads(products_response.content.decode('utf-8'))
self.assertEqual(
len(all_products),
products_in_example
)
self.assertIn("Aceites", all_products[0]["categories"])

View File

@ -2,7 +2,7 @@ from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
from django.template import loader
from .models import Sale, Product
from .models import Sale, Product, ProductCategory
from .forms import ImportProductsForm
import csv
@ -32,7 +32,7 @@ def products(request):
"name": product.name,
"price_list": product.price,
"uom": product.measuring_unit,
"category": ""#.join('&', [c for c in product.categories])
"categories": [c.name for c in product.categories.all()]
}
rproducts.append(rproduct)
@ -64,3 +64,10 @@ def handle_import_products_file(csv_file):
product.price = row['precio']
product.measuring_unit = row['unidad']
product.save()
categories = [n.strip for n in row["categorias"].split("&")]
for category in categories:
category_model, _ = ProductCategory.objects.get_or_create(
name=category
)
product.categories.add(category_model)