Code Duplication    Length = 20-20 lines in 2 locations

actstream/tests/test_views.py 2 locations

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