feat: added tests for wishlist
This commit is contained in:
@@ -13,5 +13,7 @@ class TestCategoryView(TestCase, CreateProductsMixin):
|
||||
category = ProductCategory.objects.create(
|
||||
name="category 1", show_in_navbar=True, hidden=False
|
||||
)
|
||||
response = self.client.get(reverse("web:category_view", kwargs={"slug": category.slug}))
|
||||
response = self.client.get(
|
||||
reverse("web:category_view", kwargs={"slug": category.slug})
|
||||
)
|
||||
assert response.status_code == 200
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
from django.contrib.auth.models import User
|
||||
from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
from shop.models import Cart, CartItem, WishlistedProduct
|
||||
from shop.tests.mixins import CreateProductsMixin
|
||||
from web.settings import ANONYMOUS_CART_ID_COOKIE_NAME
|
||||
|
||||
|
||||
class TestWishlist(TestCase, CreateProductsMixin):
|
||||
def setUp(self):
|
||||
self.product = self.create_product()
|
||||
self.user = User.objects.create_user("vader", "darth@vader.com", "ihatesand")
|
||||
|
||||
def test_logged_user_wishlist_button_for_non_wishlisted_product(self):
|
||||
assert WishlistedProduct.objects.count() == 0
|
||||
self.client.force_login(self.user)
|
||||
response = self.client.get(
|
||||
reverse("web:wishlist_button", kwargs={"pk": self.product.pk})
|
||||
)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_logged_user_wishlist_button_for_wishlisted_product(self):
|
||||
WishlistedProduct.objects.create(
|
||||
user=self.user,
|
||||
product=self.product,
|
||||
)
|
||||
self.client.force_login(self.user)
|
||||
response = self.client.get(
|
||||
reverse("web:wishlist_button", kwargs={"pk": self.product.pk})
|
||||
)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_logged_user_create_wishlisted_product(self):
|
||||
assert WishlistedProduct.objects.count() == 0
|
||||
self.client.force_login(self.user)
|
||||
response = self.client.post(
|
||||
reverse("web:add_to_wishlist"),
|
||||
{
|
||||
"product": self.product.pk,
|
||||
}
|
||||
)
|
||||
assert response.status_code == 201
|
||||
assert WishlistedProduct.objects.filter(user=self.user, product=self.product).exists()
|
||||
|
||||
def test_logged_user_delete_wishlisted_product(self):
|
||||
wishlisted = WishlistedProduct.objects.create(
|
||||
user=self.user,
|
||||
product=self.product,
|
||||
)
|
||||
self.client.force_login(self.user)
|
||||
response = self.client.post(
|
||||
reverse("web:delete_from_wishlist", kwargs={"pk": wishlisted.pk})
|
||||
)
|
||||
assert response.status_code == 204
|
||||
assert not WishlistedProduct.objects.filter(user=self.user, product=self.product).exists()
|
||||
Reference in New Issue
Block a user