diff options
| author | 2019-11-12 11:35:42 +0100 | |
|---|---|---|
| committer | 2019-11-12 11:35:42 +0100 | |
| commit | 21961b6d002bac5b35641505bd9f91902da46047 (patch) | |
| tree | c853a4542e8c9db91dfa1b371f710ce1a01b52f1 | |
| parent | Change setUpTestData to use aware datetime (diff) | |
Make use of subtests
Co-authored-by: Sebastiaan Zeeff <[email protected]>
| -rw-r--r-- | pydis_site/apps/api/tests/test_offensive_message.py | 40 | 
1 files changed, 20 insertions, 20 deletions
| diff --git a/pydis_site/apps/api/tests/test_offensive_message.py b/pydis_site/apps/api/tests/test_offensive_message.py index a80b1793..a270074b 100644 --- a/pydis_site/apps/api/tests/test_offensive_message.py +++ b/pydis_site/apps/api/tests/test_offensive_message.py @@ -48,26 +48,25 @@ class CreationTests(APISubdomainTestCase):          url = reverse('bot:offensivemessage-list', host='api')          delete_at = datetime.datetime.now() + datetime.timedelta(days=1)          data = { -            'id': '-602951077675139072', +            'id': '602951077675139072',              'channel_id': '291284109232308226',              'delete_date': delete_at.isoformat()[:-1]          } -        response = self.client.post(url, data=data) -        self.assertEqual(response.status_code, 400) -        self.assertEqual(response.json(), { -            'id': ['Ensure this value is greater than or equal to 0.'] -        }) +        cases = ( +            ('id', '-602951077675139072'), +            ('channel_id', '-291284109232308226') +        ) -        data = { -            'id': '602951077675139072', -            'channel_id': '-291284109232308226', -            'delete_date': delete_at.isoformat()[:-1] -        } -        response = self.client.post(url, data=data) -        self.assertEqual(response.status_code, 400) -        self.assertEqual(response.json(), { -            'channel_id': ['Ensure this value is greater than or equal to 0.'] -        }) +        for field, invalid_value in cases: +            with self.subTest(fied=field, invalid_value=invalid_value): +                test_data = data.copy() +                test_data.update({field: invalid_value}) + +                response = self.client.post(url, test_data) +                self.assertEqual(response.status_code, 400) +                self.assertEqual(response.json(), { +                    field: ['Ensure this value is greater than or equal to 0.'] +                })  class DeletionTests(APISubdomainTestCase): @@ -109,8 +108,9 @@ class NotAllowedMethodsTests(APISubdomainTestCase):          url = reverse(              'bot:offensivemessage-detail', host='api', args=(self.valid_offensive_message.id,)          ) +        not_allowed_methods = (self.client.patch, self.client.put) -        response = self.client.patch(url, {}) -        self.assertEqual(response.status_code, 405) -        response = self.client.put(url, {}) -        self.assertEqual(response.status_code, 405) +        for method in not_allowed_methods: +            with self.subTest(method=method): +                response = method(url, {}) +                self.assertEqual(response.status_code, 405) | 
