#51 feat: categorias anidadas en el listado legacy de productos
Issue #51: discriminacion y administracion de categorias de productos. - Product.to_list() devuelve categorias como objetos (id, name, alternative_name, active) en vez de solo nombres
This commit is contained in:
@@ -49,7 +49,15 @@ class Product(models.Model):
|
||||
"price_list": product.price,
|
||||
"uom": product.measuring_unit,
|
||||
"external_id": product.external_id,
|
||||
"categories": [c.name for c in product.categories.all()],
|
||||
"categories": [
|
||||
{
|
||||
"id": c.id,
|
||||
"name": c.name,
|
||||
"alternative_name": c.alternative_name,
|
||||
"active": c.active,
|
||||
}
|
||||
for c in product.categories.all()
|
||||
],
|
||||
}
|
||||
products_list.append(rproduct)
|
||||
return products_list
|
||||
|
||||
@@ -75,3 +75,28 @@ class TestProductCategorySerializers(TestCase):
|
||||
}
|
||||
],
|
||||
)
|
||||
|
||||
def test_product_to_list_incluye_categorias_anidadas(self):
|
||||
category = ProductCategory.objects.create(
|
||||
name="Bebidas", external_id="8", alternative_name="Jugos"
|
||||
)
|
||||
product = Product.objects.create(
|
||||
name="Jugo de naranja",
|
||||
price=2500,
|
||||
measuring_unit="UNIT",
|
||||
external_id="10",
|
||||
)
|
||||
product.categories.add(category)
|
||||
|
||||
data = Product.to_list()
|
||||
self.assertEqual(
|
||||
data[0]["categories"],
|
||||
[
|
||||
{
|
||||
"id": category.pk,
|
||||
"name": "Bebidas",
|
||||
"alternative_name": "Jugos",
|
||||
"active": True,
|
||||
}
|
||||
],
|
||||
)
|
||||
Reference in New Issue
Block a user