Test signup POST

This commit is contained in:
Aarni Halinen
2020-06-15 20:25:24 +03:00
parent 2433c7828d
commit f505fae3e6
4 changed files with 59 additions and 13 deletions
+1 -1
View File
@@ -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):
+49 -2
View File
@@ -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")