def setUp(self): self.parent = CategoryFactory() self.category = CategoryFactory(parent=self.parent) self.post = PostFactory(rubric=self.category)
def setUp(self): root = CategoryFactory() parent = CategoryFactory(parent=root) CategoryFactory.create_batch(3, **{"parent": parent})
class PostListTests(HtmlTestCaseMixin, TestCase): def setUp(self): self.parent = CategoryFactory() self.category = CategoryFactory(parent=self.parent) self.post = PostFactory(rubric=self.category) def test_parent_list(self): response = client.get('/' + self.parent.slug + '/') self.assertEqual(response.status_code, 200) self.assertEqual(len(response.context['object_list']), 1) PostFactory(rubric=self.post.rubric) PostFactory(rubric=self.post.rubric) response = client.get('/' + self.parent.slug + '/') self.assertEqual(len(response.context['object_list']), 3) PostFactory(rubric=self.post.rubric, status=0) response = client.get('/' + self.parent.slug + '/') self.assertEqual(len(response.context['object_list']), 3) self.assertEqual(response.context['category'], self.parent) def test_parent_list_404(self): response = client.get('/unknown/') self.assertEqual(response.status_code, 404) def test_child_list(self): slug = self.post.rubric.slug response = client.get('/' + self.parent.slug + '/' + slug + '/') self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'posts/list.html') self.assertEqual(len(response.context['object_list']), 1) PostFactory(rubric=self.post.rubric) PostFactory(rubric=self.post.rubric) response = client.get('/' + self.parent.slug + '/' + slug + '/') self.assertEqual(len(response.context['object_list']), 3) self.assertEqual(len(response.context['menu_items']), 1) self.assertEqual(response.context['category'], self.post.rubric) def test_child_list_404(self): response = client.get('/' + self.parent.slug + '/unknown/') self.assertEqual(response.status_code, 404) def test_list_pagination(self): build_batch(PostFactory, 21, rubric=self.category) response = client.get('/' + self.parent.slug + '/') self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'posts/list.html') self.assertTemplateUsed(response, 'helpers/pagination.html') self.assertTrue(response.context['page_obj'].has_next()) self.assertFalse(response.context['page_obj'].has_previous()) self.assertEqual(response.context['page_obj'].next_page_number(), 2) self.assertEqual(response.context['page_obj'].number, 1) self.assertEqual(response.context['paginator'].num_pages, 2) self.assertIn(b'pagination', response.content) response = client.get('/' + self.parent.slug + '/?page=2') self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'posts/list.html') self.assertTemplateUsed(response, 'helpers/pagination.html') self.assertFalse(response.context['page_obj'].has_next()) self.assertTrue(response.context['page_obj'].has_previous()) self.assertEqual(response.context['page_obj'].previous_page_number(), 1) self.assertEqual(response.context['page_obj'].number, 2) self.assertIn(b'pagination', response.content) def test_meta_data(self): meta = MetaDataFactory() self.parent.meta = meta self.parent.save() response = client.get('/' + self.parent.slug + '/') self.assertEqual(response.status_code, 200) self.assertMetaDataIn(response.content) self.assertH1(response.content) self.assertClassIn('list-h1', response.content) self.assertEqualTitleValue(response.content, 'title | AgroMega.in.ua') self.assertEqualMetaTagContent(response.content, 'description', 'description')
def test_main_menu(self): CategoryFactory.create_batch(size=5) self.assertEqual(len(main_menu()['roots']), 5)