feat: added tests for wishlist

This commit is contained in:
2025-01-02 11:29:45 +01:00
parent eed3905638
commit 7ef4d58ffa
9 changed files with 118 additions and 28 deletions
+3 -1
View File
@@ -10,7 +10,9 @@ class ProductFilter(django_filters.FilterSet):
field_name="name", lookup_expr="icontains", label=_("Nombre")
)
tags = django_filters.BaseInFilter(field_name="tags", label=_("Etiquetas"))
category = django_filters.BaseInFilter(field_name="categories", label=_("Categorías"))
category = django_filters.BaseInFilter(
field_name="categories", label=_("Categorías")
)
price_lt = django_filters.NumberFilter(method="filter_price_lt")
price_gt = django_filters.NumberFilter(method="filter_price_gt")
o = OrderingFilter(
+3 -2
View File
@@ -1,9 +1,10 @@
# Generated by Django 5.1.3 on 2024-12-31 09:48
import uuid
from decimal import Decimal
import django.db.models.deletion
import django.utils.timezone
import uuid
from decimal import Decimal
from django.conf import settings
from django.db import migrations, models
+29 -10
View File
@@ -37,11 +37,26 @@ class Tag(models.Model):
class ProductCategory(models.Model):
name = models.CharField(max_length=32)
parent = models.ForeignKey('shop.ProductCategory', on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_('categoría padre'))
promoted = models.BooleanField(default=False, verbose_name=_('promocionada'))
hidden = models.BooleanField(default=False, verbose_name=_('oculta'))
show_in_navbar = models.BooleanField(default=False, verbose_name=_('mostrar en cabecera'))
slug = models.SlugField(max_length=48, blank=True, default="", verbose_name=_("slug"), unique=True, db_index=True)
parent = models.ForeignKey(
"shop.ProductCategory",
on_delete=models.SET_NULL,
null=True,
blank=True,
verbose_name=_("categoría padre"),
)
promoted = models.BooleanField(default=False, verbose_name=_("promocionada"))
hidden = models.BooleanField(default=False, verbose_name=_("oculta"))
show_in_navbar = models.BooleanField(
default=False, verbose_name=_("mostrar en cabecera")
)
slug = models.SlugField(
max_length=48,
blank=True,
default="",
verbose_name=_("slug"),
unique=True,
db_index=True,
)
def __str__(self):
return self.name
@@ -89,7 +104,9 @@ class Product(TimestampedModel):
"files.FileUpload", blank=True, verbose_name=_("imágenes")
)
tags = models.ManyToManyField("shop.Tag", blank=True, verbose_name=_("etiquetas"))
categories = models.ManyToManyField("shop.ProductCategory", blank=True, verbose_name=_("categorías"))
categories = models.ManyToManyField(
"shop.ProductCategory", blank=True, verbose_name=_("categorías")
)
brand = models.ForeignKey(
"shop.Brand",
blank=True,
@@ -504,9 +521,11 @@ class ShippingMethod(models.Model):
class WishlistedProduct(TimestampedModel):
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_('usuario'))
product = models.ForeignKey('shop.Product', on_delete=models.CASCADE, verbose_name=_('producto'))
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_("usuario"))
product = models.ForeignKey(
"shop.Product", on_delete=models.CASCADE, verbose_name=_("producto")
)
class Meta:
verbose_name = _('productos deseados')
verbose_name_plural = _('productos deseados')
verbose_name = _("productos deseados")
verbose_name_plural = _("productos deseados")