From 01e5c1edd6edcd8302646f5a3d8b5e37cb03eaad Mon Sep 17 00:00:00 2001 From: Joshua Casey <joshua.caseyd@gmail.com> Date: Wed, 17 May 2017 10:21:50 +0700 Subject: [PATCH] [#44] [RED] Added tests for vacancy verification by supervisor --- core/tests/test_vacancies.py | 38 +++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/core/tests/test_vacancies.py b/core/tests/test_vacancies.py index 82a1b07b..8b5e8380 100644 --- a/core/tests/test_vacancies.py +++ b/core/tests/test_vacancies.py @@ -5,7 +5,7 @@ from django.contrib.auth.models import User from rest_framework import status from rest_framework.test import APITestCase -from core.models.accounts import Company +from core.models.accounts import Company, Supervisor from core.models.vacancies import Vacancy @@ -186,3 +186,39 @@ class CompanyListsTests(APITestCase): url = '/api/companies/' + str(new_company.pk) + '/applications' response = self.client.post(url, format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) + + +class SupervisorApprovalTests(APITestCase): + + def test_supervisor_approve_vacancy(self): + new_user = User.objects.create_user('dummy.supervisor', 'dummy.supervisor@asd.asd', 'lalala123') + new_supervisor = Supervisor.objects.create(user=new_user, nip=1212121212) + self.client.force_authenticate(user=new_user) + + new_user2 = User.objects.create_user('dummy.company2', 'dummy.compan2y@company.com', 'lalala123') + new_company2 = Company.objects.create(user=new_user2, description="lalala", status=Company.VERIFIED, logo=None, + address=None) + new_vacancy2 = Vacancy.objects.create(company=new_company2, verified=False, open_time=datetime.fromtimestamp(0), + description="lalala", close_time=datetime.today()) + + url = '/api/vacancies/' + str(new_vacancy2.pk) + '/verify/' + response = self.client.patch(url, {'verified' : True}, format='json') + print response.data + self.assertEqual(response.status_code, status.HTTP_200_OK) + + retrieve_vacancy = Vacancy.objects.get(pk=new_vacancy2.pk) + self.assertEqual(retrieve_vacancy.verified, True) + + def test_unauthorized_approve_vacancy(self): + new_user = User.objects.create_user('dummy.companyz', 'dummy.companyz@company.com', 'lalala123') + new_company = Company.objects.create(user=new_user, description="lalalaz", status=Company.VERIFIED, logo=None, + address=None) + self.client.force_authenticate(user=new_user) + + new_vacancy = Vacancy.objects.create(company=new_company, verified=False, open_time=datetime.fromtimestamp(0), + description="lalala", close_time=datetime.today()) + + url = '/api/vacancies/' + str(new_vacancy.pk) + '/verify/' + response = self.client.patch(url, format='json') + self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) + self.assertEqual(new_vacancy.verified, False) -- GitLab