Test signup POST
This commit is contained in:
@@ -10,7 +10,7 @@ ALL_QUESTION_TYPES = [
|
||||
{"id": "i10d426d5", "name": "Asd3", "type": "checkbox", "options": ["A", "B", "C"]}
|
||||
]
|
||||
|
||||
ALL_QUESTION_TYPES_ANSWER = {"j5CeRZDvl": "Testi", "RHJhSoaLD": "maybe", "i10d426d5": ["B"]}
|
||||
ALL_QUESTION_TYPES_ANSWER = {"j5CeRZDvl": "Testi", "RHJhSoaLD": "maybe", "i10d426d5": ["B","C"]}
|
||||
|
||||
|
||||
def createSignupForm(name="Form1", start_time=timezone.now(), end_time=month_from_now(), questions=ALL_QUESTION_TYPES, visible=True):
|
||||
|
||||
@@ -17,6 +17,9 @@ class SignupTestCase(APITestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.signupForm = createSignupForm()
|
||||
self.signupFormText = createSignupForm(name="Form2", questions=[ALL_QUESTION_TYPES[0]])
|
||||
self.signupFormRadio = createSignupForm(name="Form3", questions=[ALL_QUESTION_TYPES[1]])
|
||||
self.signupFormCheck = createSignupForm(name="Form4", questions=[ALL_QUESTION_TYPES[2]])
|
||||
self.hiddenForm = createSignupForm(visible=False)
|
||||
|
||||
self.signup1 = createSignupObject(self.signupForm, ALL_QUESTION_TYPES)
|
||||
@@ -77,11 +80,55 @@ class SignupTestCase(APITestCase):
|
||||
pass
|
||||
|
||||
def test_create_malformed_answer(self):
|
||||
malformed = createSignupJSON(self.signupForm.id, [])
|
||||
response = self.client.post(URL, malformed, format="json")
|
||||
# Empty body
|
||||
response = self.client.post(URL, createSignupJSON(self.signupForm.id, {}), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# Array
|
||||
response = self.client.post(URL, createSignupJSON(self.signupForm.id, []), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# Extra ids
|
||||
testInput = ALL_QUESTION_TYPES_ANSWER.copy()
|
||||
testInput["newId"] = "Oon extraa"
|
||||
response = self.client.post(URL, createSignupJSON(self.signupForm.id, testInput), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# Bad id
|
||||
response = self.client.post(URL, createSignupJSON(self.signupFormText.id, { "malformed": "Tekstiä" }), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# Wrong data type for text
|
||||
response = self.client.post(URL, createSignupJSON(self.signupFormText.id, {"j5CeRZDvl": 123}), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# Wrong data for checkbox
|
||||
response = self.client.post(URL, createSignupJSON(self.signupFormCheck.id, {
|
||||
"i10d426d5": ["D"]
|
||||
}), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# Wrong data type for checkbox
|
||||
response = self.client.post(URL, createSignupJSON(self.signupFormCheck.id, {
|
||||
"i10d426d5": {"j5CeRZDvl": { "asd": "123" }}
|
||||
}), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# Wrong data for radiobutton
|
||||
response = self.client.post(URL, createSignupJSON(self.signupFormRadio.id, {
|
||||
"RHJhSoaLD": []
|
||||
}), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# Wrong data type for radiobutton
|
||||
response = self.client.post(URL, createSignupJSON(self.signupFormRadio.id, {
|
||||
"RHJhSoaLD": { "asd": "123" }
|
||||
}), format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
self.assertEqual(Signup.objects.count(), 2)
|
||||
|
||||
|
||||
# Update and Delete are available for super admin (Django Admin)
|
||||
# and to the user that signed up (uid token)
|
||||
@skip("NotImplemented")
|
||||
|
||||
Reference in New Issue
Block a user