Esempio n. 1
0
    def test_without_pagination(self):
        count = self.post_1.comments.filter_parents_by_object(
            self.post_1).count()
        data = render_comments(self.post_1, self.request)

        self.assertEqual(data['comments'].count(),
                         count)  # parent comment only
        self.assertEqual(data['login_url'], settings.LOGIN_URL)
        # check if `request` object is passed in context template
        self.assertEqual(data['request'], self.request)
Esempio n. 2
0
    def test_with_pagination(self):
        request = self.factory.get('/?page=2')
        request.user = self.user_1
        data = render_comments(self.post_1, request)

        self.assertIs(data['comments'].has_previous(), True)
        self.assertEqual(data['comments'].paginator.per_page,
                         2)  # 2 comment per page
        self.assertEqual(data['comments'].number,
                         2)  # 3 comment fit in 2 pages
        self.assertEqual(data['login_url'], settings.LOGIN_URL)
Esempio n. 3
0
    def test_render_comments(self):
        request = self.factory.get('/')
        request.user = self.user_1
        data = render_comments(self.post_1, request, comments_per_page=None)
        self.assertEqual(data['comments'].count(), 3)  # parent comment only
        self.assertEqual(data['login_url'], '/' + settings.LOGIN_URL)

        # LOGIN_URL is not provided
        setattr(settings, 'LOGIN_URL', None)
        with self.assertRaises(ImproperlyConfigured) as error:
            render_comments(self.post_1, request)
        self.assertIsInstance(error.exception, ImproperlyConfigured)

        # check pagination
        setattr(settings, 'LOGIN_URL', '/login')
        request = self.factory.get('/?page=2')
        request.user = self.user_1
        data = render_comments(self.post_1, request, comments_per_page=2)
        self.assertTrue(data['comments'].has_previous())
        self.assertEqual(data['comments'].paginator.per_page, 2)  # 2 comment per page
        self.assertEqual(data['comments'].number, 2)  # 3 comment fit in 2 pages
        self.assertEqual(data['login_url'], settings.LOGIN_URL)

        # check not integer page
        request = self.factory.get('/?page=string')
        request.user = self.user_1
        data = render_comments(self.post_1, request, comments_per_page=2)
        self.assertFalse(data['comments'].has_previous())

        # check empty page
        request = self.factory.get('/?page=10')
        request.user = self.user_1
        data = render_comments(self.post_1, request, comments_per_page=2)
        self.assertTrue(data['comments'].has_previous())
    def test_render_comments(self):
        request = self.factory.get('/')
        request.user = self.user_1
        comments_per_page = 'COMMENT_PER_PAGE'
        patch.object(settings, comments_per_page, 0).start()
        count = self.post_1.comments.filter_parents_by_object(self.post_1).count()
        data = render_comments(self.post_1, request)

        # no pagination
        self.assertEqual(data['comments'].count(), count)  # parent comment only
        self.assertEqual(data['login_url'], settings.LOGIN_URL)
        # check if `request` object is passed in context template
        self.assertEqual(data['request'], request)
    def test_render_comments(self):
        current_login_url = getattr(settings, 'LOGIN_URL', '/profile/login/')
        request = self.factory.get('/')
        request.user = self.user_1
        comments_per_page = 'COMMENT_PER_PAGE'
        patch.object(settings, comments_per_page, 0).start()
        count = self.post_1.comments.filter_parents_by_object(
            self.post_1).count()
        data = render_comments(self.post_1, request)

        # no pagination
        self.assertEqual(data['comments'].count(),
                         count)  # parent comment only
        self.assertEqual(data['login_url'], settings.LOGIN_URL)

        # LOGIN_URL is not provided
        patch.object(settings, 'LOGIN_URL', None).start()
        with self.assertRaises(ImproperlyConfigured) as error:
            render_comments(self.post_1, request)
        self.assertIsInstance(error.exception, ImproperlyConfigured)

        # check pagination
        patch.object(settings, comments_per_page, 2).start()
        patch.object(settings, 'LOGIN_URL', current_login_url).start()
        request = self.factory.get('/?page=2')
        request.user = self.user_1
        data = render_comments(self.post_1, request)

        self.assertTrue(data['comments'].has_previous())
        self.assertEqual(data['comments'].paginator.per_page,
                         2)  # 2 comment per page
        self.assertEqual(data['comments'].number,
                         2)  # 3 comment fit in 2 pages
        self.assertEqual(data['login_url'], settings.LOGIN_URL)

        # check not integer page
        request = self.factory.get('/?page=string')
        request.user = self.user_1
        data = render_comments(self.post_1, request)
        self.assertFalse(data['comments'].has_previous())

        # check empty page
        request = self.factory.get('/?page=10')
        request.user = self.user_1
        data = render_comments(self.post_1, request)
        self.assertTrue(data['comments'].has_previous())
Esempio n. 6
0
 def test_without_login_url(self):
     with self.assertRaises(ImproperlyConfigured) as error:
         render_comments(self.post_1, self.request)
     self.assertIsInstance(error.exception, ImproperlyConfigured)
Esempio n. 7
0
 def test_empty_page(self):
     request = self.factory.get('/?page=10')
     request.user = self.user_1
     data = render_comments(self.post_1, request)
     self.assertIs(data['comments'].has_previous(), True)
Esempio n. 8
0
 def test_non_integral_page_number(self):
     request = self.factory.get('/?page=string')
     request.user = self.user_1
     data = render_comments(self.post_1, request)
     self.assertIs(data['comments'].has_previous(), False)
 def test_render_comments_without_login_url(self):
     request = self.factory.get('/')
     request.user = self.user_1
     with self.assertRaises(ImproperlyConfigured) as error:
         render_comments(self.post_1, request)
     self.assertIsInstance(error.exception, ImproperlyConfigured)