Code Duplication    Length = 20-20 lines in 2 locations

actstream/tests/test_views.py 2 locations

@@ 46-65 (lines=20) @@
43
        self.assertEqual(response.status_code, 302)
44
        self.assertTrue(response['Location'].endswith('/redirect/'))
45
46
    def test_follow_unfollow_with_flag(self):
47
        response = self.get('actstream_follow', self.user_ct.pk, self.user3.pk, 'watching')
48
        self.assertEqual(response.status_code, 201)
49
        self.assertEqual(len(response.templates), 0)
50
        follow = {'user': self.user1, 'content_type': self.user_ct,
51
                  'object_id': self.user3.pk, 'flag': 'watching'}
52
        action = {'actor_content_type': self.user_ct, 'actor_object_id': self.user1.pk,
53
                  'target_content_type': self.user_ct, 'target_object_id': self.user3.pk,
54
                  'verb': 'started watching'}
55
        models.Follow.objects.get(**follow)
56
        models.Action.objects.get(**action)
57
58
        response = self.get('actstream_unfollow', self.user_ct.pk, self.user3.pk, 'watching')
59
        self.assertEqual(response.status_code, 204)
60
        self.assertEqual(len(response.templates), 0)
61
        self.assertRaises(models.Follow.DoesNotExist, models.Follow.objects.get, **follow)
62
63
        response = self.get('actstream_unfollow', self.user_ct.pk, self.user3.pk, 'watching', next='/redirect/')
64
        self.assertEqual(response.status_code, 302)
65
        self.assertTrue(response['Location'].endswith('/redirect/'))
66
67
    def test_stream(self):
68
        response = self.get('actstream')
@@ 25-44 (lines=20) @@
22
        for i, item in enumerate(qs1):
23
            self.assertDictEqual(attrs(item), attrs(qs2[i]))
24
25
    def test_follow_unfollow(self):
26
        response = self.get('actstream_follow', self.user_ct.pk, self.user3.pk)
27
        self.assertEqual(response.status_code, 201)
28
        self.assertEqual(len(response.templates), 0)
29
        follow = {'user': self.user1, 'content_type': self.user_ct,
30
                  'object_id': self.user3.pk}
31
        action = {'actor_content_type': self.user_ct, 'actor_object_id': self.user1.pk,
32
                  'target_content_type': self.user_ct, 'target_object_id': self.user3.pk,
33
                  'verb': 'started following'}
34
        models.Follow.objects.get(**follow)
35
        models.Action.objects.get(**action)
36
37
        response = self.get('actstream_unfollow', self.user_ct.pk, self.user3.pk)
38
        self.assertEqual(response.status_code, 204)
39
        self.assertEqual(len(response.templates), 0)
40
        self.assertRaises(models.Follow.DoesNotExist, models.Follow.objects.get, **follow)
41
42
        response = self.get('actstream_unfollow', self.user_ct.pk, self.user3.pk, next='/redirect/')
43
        self.assertEqual(response.status_code, 302)
44
        self.assertTrue(response['Location'].endswith('/redirect/'))
45
46
    def test_follow_unfollow_with_flag(self):
47
        response = self.get('actstream_follow', self.user_ct.pk, self.user3.pk, 'watching')