class SellerDetailTests(TestCase): def setUp(self): self.user = UserFactory() self.seller = SellerFactory(owner=self.user) self.product = ProductFactory(seller=self.seller) def test_seller_detail_view_works_for_loggedin_user(self): self.client.force_login(self.user) response = self.client.get(self.seller.get_absolute_url()) no_response = self.client.get('/sellers/5555') self.assertEqual(response.status_code, 200) self.assertContains(response, self.seller.name.title()) self.assertEqual(len(response.context_data['seller_products']), 1) self.assertNotContains(response, 'Hi I should not be on this page') self.assertTemplateUsed(response, 'sellers/seller_detail.html') self.assertEqual(no_response.status_code, 404) def test_seller_detail_view_redirects_for_anonymous_user(self): response = self.client.get(self.seller.get_absolute_url()) no_response = self.client.get('/sellers/1234/') self.assertEqual(response.status_code, 302) self.assertTemplateNotUsed(response, 'sellers/seller_detail.html') self.assertEqual(no_response.status_code, 404) def test_seller_detail_resolves_sellerdetailview(self): view = resolve(self.seller.get_absolute_url()) self.assertEqual(view.func.__name__, SellerDetailView.as_view().__name__)
def setUp(self): self.superuser = get_user_model().objects.create_superuser( username='******', email='*****@*****.**', password='******') self.user_1 = UserFactory() self.user_2 = UserFactory() self.seller_1 = SellerFactory(owner=self.user_1) self.seller_2 = SellerFactory(owner=self.user_2) self.product_1 = ProductFactory(seller=self.seller_1) self.product_2 = ProductFactory(seller=self.seller_2)
def test_seller_create_with_valid_post_data_creates_a_new_seller(self): self.client.force_login(self.user) data = model_to_dict(SellerFactory()) data.pop('logo') data.pop('header_image') response = self.client.post(reverse('seller_create'), data=data) self.assertEqual(response.status_code, 302) self.assertEqual(Seller.objects.count(), 2) self.assertEqual(Seller.objects.all()[0].name, data['name'])
class SellerUpdateTests(TestCase): def setUp(self): self.user = UserFactory() self.seller = SellerFactory(owner=self.user) def test_seller_update_page_works_for_logged_in_user(self): self.client.force_login(self.user) response = self.client.get(self.seller.get_update_url()) no_response = self.client.get('/sellers/1234/update/') self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'sellers/seller_update_form.html') self.assertContains(response, 'Update') self.assertNotContains(response, 'Hi I should not be on this page!') self.assertEqual(no_response.status_code, 404) def test_seller_update_page_redirectos_for_anonymous_user(self): response = self.client.get(self.seller.get_update_url()) no_response = self.client.get('/sellers/1234/update/') self.assertEqual(response.status_code, 302) self.assertTemplateNotUsed(response, 'sellers/seller_update_form.html') self.assertEqual(no_response.status_code, 404) def test_seller_update_resolve_sellerupdateview(self): view = resolve(self.seller.get_update_url()) self.assertEqual(view.func.__name__, SellerUpdate.as_view().__name__) def test_seller_update_for_non_existing_seller_routes_to_not_found(self): self.assertEqual(Seller.objects.count(), 1) non_existing_seller_url = self.seller.get_update_url() Seller.objects.all().delete() self.assertEqual(Seller.objects.count(), 0) self.client.force_login(self.user) response = self.client.get(non_existing_seller_url) self.assertEqual(response.status_code, 404)
def setUp(self): self.user = UserFactory() self.seller = SellerFactory(owner=self.user) self.product = ProductFactory(seller=self.seller)
def setUp(self): self.user = UserFactory() self.seller = SellerFactory(owner=self.user)
class SellerDeleteTests(TestCase): def setUp(self): self.user = UserFactory() self.seller = SellerFactory(owner=self.user) def test_seller_delete_page_works_for_logged_in_user(self): self.client.force_login(self.user) response = self.client.get(self.seller.get_delete_url()) no_response = self.client.get('/sellers/1234/delete/') self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'sellers/seller_confirm_delete.html') self.assertContains(response, 'Delete') self.assertNotContains(response, 'Hi I should not be on this page!') self.assertEqual(no_response.status_code, 404) def test_seller_delete_with_valid_post_data_deletes_the_seller(self): self.assertEqual(Seller.objects.count(), 1) self.client.force_login(self.user) response = self.client.post(self.seller.get_delete_url()) self.assertEqual(response.status_code, 302) self.assertEqual(Seller.objects.count(), 0) messages = list(get_messages(response.wsgi_request)) self.assertEqual(len(messages), 1) self.assertEqual(str(messages[0]), "Seller was deleted successfully!") def test_seller_delete_for_non_existing_seller_routes_to_not_found(self): non_existing_seller_url = self.seller.get_delete_url() self.assertEqual(Seller.objects.count(), 1) Seller.objects.all().delete() self.client.force_login(self.user) response = self.client.get(non_existing_seller_url) self.assertEqual(response.status_code, 404) self.assertTemplateUsed(response, '404.html') def test_seller_delete_with_valid_post_for_non_existing_seller_routes_to_not_found( self): seller_url = self.seller.get_delete_url() Seller.objects.all().delete() self.assertEqual(Seller.objects.count(), 0) self.client.force_login(self.user) response = self.client.post(seller_url) self.assertEqual(response.status_code, 404) self.assertTemplateUsed(response, '404.html') def test_seller_delete_page_redirects_for_anonymous_user(self): response = self.client.get(self.seller.get_delete_url()) no_response = self.client.get('/sellers/1234/delete/') self.assertEqual(response.status_code, 302) self.assertTemplateNotUsed(response, 'sellers/seller_confirm_delete.html') self.assertEqual(no_response.status_code, 404) def test_seller_delete_view_resolves_sellerdeleteview(self): view = resolve(self.seller.get_delete_url()) self.assertEqual(view.func.__name__, SellerDelete.as_view().__name__)