def test_unique_slug(self): create_product('Test product unique slug 1', 'test-product-unique-slug-1') p1 = Product.objects.get(name='Test product unique slug 1') p1.save() create_product('Test product unique slug 2', 'test-product-unique-slug-1') p2 = Product.objects.get(name='Test product unique slug 2') self.assertRaises(IntegrityError, p2.save())
def test_shop_product_detail_view_url_exists_at_desired_location(self): create_product('Test product for detail', 'test-product-for-detail') product = Product.objects.get(name='Test product for detail') product_id = str(product.id) product_slug = str(product.slug) resp = self.client.get('/products/' + product_id + '/' + product_slug + '/')
def test_wishlist_items_del(self): user1 = User.objects.create() create_product('Test wishlist', 'test-slug') product = Product.objects.get(name='Test wishlist') product.wishlisted.remove(user1) wishlist_items = user1.wishlist_items.all() self.assertQuerysetEqual(wishlist_items, [])
def test_wishlist_view_with_a_past_product(self): create_product('Test product for wishlist', 'test') product = Product.objects.get(name='Test product for wishlist') user1 = User.objects.create() product.wishlisted.add(user1) wishlist_items = user1.wishlist_items.all() self.assertQuerysetEqual(wishlist_items, ['<Product: Test product for wishlist>'])
def test_shop_view_with_four_last_products(self): for i in range(1, 5): create_product('Test product for last ' + str(i), 'test') resp = self.client.get(reverse('shop:ProductList')) self.assertQuerysetEqual(resp.context['products'], [ '<Product: Test product for last 4>', '<Product: Test product for last 3>', '<Product: Test product for last 2>', '<Product: Test product for last 1>' ])
def test_wishlist_items_add(self): user1 = User.objects.create() create_product('Test wishlist', 'test-slug') product = Product.objects.get(name='Test wishlist') product_name = product.name product.wishlisted.add(user1) wishlist_items = user1.wishlist_items.all() self.assertQuerysetEqual(wishlist_items, ['<Product: ' + product_name + '>'])
def test_shop_view_with_a_past_product(self): create_product('Test product for past 1', 'test') resp = self.client.get(reverse('shop:ProductList')) self.assertQuerysetEqual(resp.context['products'], ['<Product: Test product for past 1>'])
def setUpTestData(cls): create_product("Test", 'test')
def test_price_with_discount(self): create_product('Test product', 'test-product') product = Product.objects.get(name='Test product') price_with_discount = getattr(product, 'price_with_discount') self.assertEquals(price_with_discount, 900)
def test_get_absolute_url(self): create_product('Test product for detail', 'test-product-for-detail') product = Product.objects.get(name='Test product for detail') product_id = str(product.id) product_slug = str(product.slug) self.assertEquals(product.get_absolute_url(), '/products/' + product_id + '/' + product_slug + '/')