From 0f50daf2891fbfc81be701c696fd9cc2d7f97f30 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sun, 10 Nov 2019 01:20:31 +0200 Subject: [PATCH] Singup get tests --- webapp/tests/test_signup.py | 90 +++++++++++++++++++++++++++++++++---- 1 file changed, 81 insertions(+), 9 deletions(-) diff --git a/webapp/tests/test_signup.py b/webapp/tests/test_signup.py index 82f671a..f1ab80d 100644 --- a/webapp/tests/test_signup.py +++ b/webapp/tests/test_signup.py @@ -1,16 +1,88 @@ from django.test import TestCase -from django.core.files import File from django.contrib.auth.models import User -from rest_framework.test import APITestCase +from django.utils import timezone from rest_framework import status -from rest_framework.test import force_authenticate -from webapp.models import Tag, Feed -from webapp.serializers import TagSerializer, FeedSerializer +from rest_framework.test import APITestCase, APIRequestFactory, force_authenticate -from collections import OrderedDict -from itertools import islice -import tempfile +from webapp.models import Signup, SignupForm +from webapp.serializers import SignupSerializer, SignupFormSerializer +from webapp.tests.event_fixture import createEventObject, createEventJSON +from webapp.utils import month_from_now +import json + +URL = "/api/signup/" + +ALL_QUESTION_TYPES = json.dumps([ + +]) + + +def createSignupForm(name="Form1", start_time=timezone.now(), end_time=month_from_now(), questions=ALL_QUESTION_TYPES, visible=True): + return SignupForm.objects.create( + title=name, + start_time=start_time, + end_time=end_time, + questions=questions, + visible=visible + ) + + +def createSignup(form, answer): + return Signup.objects.create( + signupForm=form, + answer=answer + ) class SignupTestCase(APITestCase): - pass + + def setUp(self): + self.signupForm = createSignupForm() + self.event = createEventObject(signup_id=self.signupForm.id) + + self.signup1 = createSignup(self.signupForm, json.dumps([])) + self.signup2 = createSignup(self.signupForm, json.dumps([])) + + username, password = "test_admin", "password123" + self.authClient = User.objects.create_superuser(username, "myemail@test.com", password) + + def test_get_signups(self): + expected = SignupSerializer( + self.signupForm.signup_set.all(), + many=True + ) + + print(expected.data) + + # Unauthorized + response = self.client.get(URL, format="json") + self.assertTrue(response.status_code, status.HTTP_401_UNAUTHORIZED) + # Authenticate + self.client.force_authenticate(user=self.authClient) + response = self.client.get(URL, format="json") + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.data["results"], expected.data) + + def test_get_single_signup(self): + id = self.signup1.id + expected = SignupSerializer( + Signup.objects.get(id=id) + ) + + # Unauthorized + response = self.client.get(f"{URL}{id}/", format="json") + self.assertTrue(response.status_code, status.HTTP_401_UNAUTHORIZED) + # Authenticate + self.client.force_authenticate(user=self.authClient) + response = self.client.get(f"{URL}{id}/", format="json") + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.data, expected.data) + + def test_create_signup(self): + pass + + def test_update_signup(self): + pass + + def test_delete_signup(self): + pass