Completed
Push — master ( 897349...4f09bf )
by Alexander
109:51 queued 107:08
created

test_helpers   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 28
dl 0
loc 39
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A tcms.core.tests.test_helpers.TestAddComments.setUpTestData() 0 7 1
A tcms.core.tests.test_helpers.TestAddComments.test_add_comment_to_case() 0 17 2
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