added random_company_sample endpoint

This commit is contained in:
Sam
2021-03-05 11:26:40 +00:00
parent 7825810448
commit bcea4abb23
3 changed files with 70 additions and 1 deletions

View File

@@ -357,3 +357,53 @@ class MyCompanyViewTest(APITestCase):
# check response
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
class RandomCompanySampleTest(APITestCase):
def setUp(self):
"""Tests setup
"""
self.endpoint = '/api/v1/companies/sample/'
self.factory = CompanyFactory
self.model = Company
# create user
self.email = f"user@mail.com"
self.password = ''.join(random.choices(string.ascii_uppercase, k = 10))
self.user = CustomUserFactory(email=self.email, is_active=True)
self.user.set_password(self.password)
self.user.save()
def test_default_behavior(self):
"""Expect 6 instances as default
"""
# create instances
instances = [ self.factory() for i in range(20)]
# Query endpoint
response = self.client.get(self.endpoint)
payload = response.json()
# Assert forbidden code
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEquals(6, len(payload))
# test IDs not correlative (eventually it could be, because it's random)
self.assertTrue(payload[0]['id'] != (payload[1]['id'] + 1))
def test_custom_size_behavior(self):
"""Expect response size equal to parameter value
"""
# create instances
instances = [ self.factory() for i in range(20)]
# Query endpoint
size = 10
url = f"{self.endpoint}?size={size}"
response = self.client.get(url)
payload = response.json()
# Assert forbidden code
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEquals(size, len(payload))
# test IDs not correlative (eventually it could be, because it's random)
self.assertTrue(payload[0]['id'] != (payload[1]['id'] + 1))