Esempio n. 1
0
 def setUp(self):
     self.parent = CategoryFactory()
     self.category = CategoryFactory(parent=self.parent)
     self.post = PostFactory(rubric=self.category)
Esempio n. 2
0
 def setUp(self):
     root = CategoryFactory()
     parent = CategoryFactory(parent=root)
     CategoryFactory.create_batch(3, **{"parent": parent})
Esempio n. 3
0
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')
Esempio n. 4
0
 def test_main_menu(self):
     CategoryFactory.create_batch(size=5)
     self.assertEqual(len(main_menu()['roots']), 5)