|
|
|
@ -102,6 +102,62 @@ class StudyCreateTest(TestCase):
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
self.assertEqual(len(response.json()['results']), 1)
|
|
|
|
|
|
|
|
|
|
def test_create_study_with_image(self):
|
|
|
|
|
endpoint = 'http://testserver' + reverse('api:v1:study-list')
|
|
|
|
|
response = self.client.get(endpoint)
|
|
|
|
|
|
|
|
|
|
# First step, make sure we do not have any studies
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
self.assertEqual(len(response.json()['results']), 0)
|
|
|
|
|
|
|
|
|
|
# Now we create a new study
|
|
|
|
|
# Need a study field based on faculty
|
|
|
|
|
study_field = StudyField.objects.filter(faculty=self.faculty).first()
|
|
|
|
|
|
|
|
|
|
endpoint = 'http://testserver' + reverse('api:v1:study-list')
|
|
|
|
|
data = {
|
|
|
|
|
"name": "Test Onderzoek",
|
|
|
|
|
"description": "Doe maar een lange onderzoek",
|
|
|
|
|
"code": "12345",
|
|
|
|
|
"human_subject": False,
|
|
|
|
|
"field": study_field.id,
|
|
|
|
|
"avatar": "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"
|
|
|
|
|
}
|
|
|
|
|
response = self.client.post(endpoint, json=data)
|
|
|
|
|
# Make sure we get a 201 result back
|
|
|
|
|
self.assertEqual(response.status_code, 201)
|
|
|
|
|
study = response.json()
|
|
|
|
|
# At least something should be there
|
|
|
|
|
self.assertNotEqual(study['avatar'], '')
|
|
|
|
|
|
|
|
|
|
def test_create_study_with_invalid_image(self):
|
|
|
|
|
endpoint = 'http://testserver' + reverse('api:v1:study-list')
|
|
|
|
|
response = self.client.get(endpoint)
|
|
|
|
|
|
|
|
|
|
# First step, make sure we do not have any studies
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
self.assertEqual(len(response.json()['results']), 0)
|
|
|
|
|
|
|
|
|
|
# Now we create a new study
|
|
|
|
|
# Need a study field based on faculty
|
|
|
|
|
study_field = StudyField.objects.filter(faculty=self.faculty).first()
|
|
|
|
|
|
|
|
|
|
endpoint = 'http://testserver' + reverse('api:v1:study-list')
|
|
|
|
|
data = {
|
|
|
|
|
"name": "Test Onderzoek",
|
|
|
|
|
"description": "Doe maar een lange onderzoek",
|
|
|
|
|
"code": "12345",
|
|
|
|
|
"human_subject": False,
|
|
|
|
|
"field": study_field.id,
|
|
|
|
|
"avatar": "W0Rlc2t0b3AgRW50cnldDQpFeGVjPXgyZ29jbGllbnQgLS1zZXNzaW9uaWQ9MjAyMTA5MDkxMDE5MDk5NzANCkljb249L2hvbWUvam9zaHVhL1BpY3R1cmVzL0hQQ19NYXRlX0Rlc2t0b3AucG5nDQpOYW1lPUhQQyBEZXNrdG9wDQpTdGFydHVwTm90aWZ5PXRydWUNClRlcm1pbmFsPWZhbHNlDQpUeXBlPUFwcGxpY2F0aW9uDQpYLUtERS1TdWJzdGl0dXRlVUlEPWZhbHNl"
|
|
|
|
|
}
|
|
|
|
|
response = self.client.post(endpoint, json=data)
|
|
|
|
|
# We should get back a 400 error.
|
|
|
|
|
self.assertEqual(response.status_code, 400)
|
|
|
|
|
result = response.json()
|
|
|
|
|
self.assertEqual(result[0]['dataPath'], '.avatar')
|
|
|
|
|
self.assertEqual(result[0]['keyword'], 'invalid')
|
|
|
|
|
|
|
|
|
|
def test_create_study_invalid_study_field(self):
|
|
|
|
|
# Now we create a new study
|
|
|
|
|
# Need a study field based on faculty
|
|
|
|
|