Total Complexity | 3 |
Total Lines | 39 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | # -*- coding: utf-8 -*- |
||
2 | |||
3 | from django.contrib.auth.models import User |
||
4 | from django.contrib.contenttypes.models import ContentType |
||
5 | from django_comments.models import Comment |
||
6 | |||
7 | from tcms.tests import BasePlanCase |
||
8 | from tcms.core.helpers.comments import add_comment |
||
9 | |||
10 | |||
11 | class TestAddComments(BasePlanCase): |
||
12 | """Test comments.add_comment""" |
||
13 | |||
14 | @classmethod |
||
15 | def setUpTestData(cls): |
||
16 | super(TestAddComments, cls).setUpTestData() |
||
17 | |||
18 | cls.reviewer = User.objects.create_user( |
||
19 | username='reviewer', |
||
20 | email='[email protected]') |
||
21 | |||
22 | def test_add_comment_to_case(self): |
||
23 | cases = [self.case_1, self.case_2] |
||
24 | add_comment(cases, 'new comment', self.reviewer) |
||
25 | |||
26 | for case in cases: |
||
27 | case_ct = ContentType.objects.get_for_model(case.__class__) |
||
28 | comments = Comment.objects.filter(content_type=case_ct, |
||
29 | object_pk=case.pk) |
||
30 | self.assertEqual(1, len(comments)) |
||
31 | |||
32 | comment = comments[0] |
||
33 | self.assertEqual('new comment', comment.comment) |
||
34 | self.assertEqual(self.reviewer, comment.user) |
||
35 | self.assertEqual(self.reviewer.username, comment.user_name) |
||
36 | self.assertEqual(self.reviewer.email, comment.user_email) |
||
37 | self.assertTrue(comment.is_public) |
||
38 | self.assertFalse(comment.is_removed) |
||
39 |