From 3951b3f90c88655f4b0cda2802b79723ecb107c4 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Mon, 20 Sep 2021 20:33:59 +0200 Subject: [PATCH] Fix unit test --- server/portfolio/tests/test_project_query.py | 74 +++++--------------- 1 file changed, 19 insertions(+), 55 deletions(-) diff --git a/server/portfolio/tests/test_project_query.py b/server/portfolio/tests/test_project_query.py index 4ff1d7a4..18f637ad 100644 --- a/server/portfolio/tests/test_project_query.py +++ b/server/portfolio/tests/test_project_query.py @@ -3,6 +3,7 @@ from graphene.test import Client from graphql_relay import to_global_id from api.schema import schema +from core.tests.base_test import SkillboxTestCase from portfolio.factories import ProjectFactory from portfolio.models import Project from rooms.models import Room @@ -11,27 +12,17 @@ from users.models import User, SchoolClass from users.services import create_users -class ProjectQuery(TestCase): +class ProjectQuery(SkillboxTestCase): def setUp(self): - create_users() - self.teacher = User.objects.get(username='teacher') - self.teacher2 = User.objects.get(username='teacher2') - self.student = User.objects.get(username='student1') - self.student2 = User.objects.get(username='student2') - school_class1 = SchoolClassFactory(users=[self.teacher, self.student]) + self.createDefault() + school_class1 = SchoolClassFactory(users=[self.teacher, self.student1]) school_class2 = SchoolClassFactory(users=[self.teacher2, self.student2]) - self.project1 = ProjectFactory(student=self.student) + + self.project1 = ProjectFactory(student=self.student1) self.query = ''' query ProjectsQuery { projects { - edges { - node { - ...ProjectParts - __typename - } - __typename - } - __typename + ...ProjectParts } } @@ -49,72 +40,45 @@ class ProjectQuery(TestCase): def test_should_see_own_projects(self): self.assertEqual(Project.objects.count(), 1) - request = RequestFactory().get('/') - request.user = self.student - self.client = Client(schema=schema, context_value=request) - result = self.client.execute(self.query) + result = self.get_client(self.student1).execute(self.query) self.assertIsNone(result.get('errors')) - self.assertEqual(result.get('data').get('projects').get('edges')[0].get('node').get('title'), self.project1.title) + self.assertEqual(result.get('data').get('projects')[0].get('title'), self.project1.title) def test_should_not_see_other_projects(self): self.assertEqual(Project.objects.count(), 1) - request = RequestFactory().get('/') - request.user = self.student2 - self.client = Client(schema=schema, context_value=request) - result = self.client.execute(self.query) + result = self.get_client(self.student2).execute(self.query) self.assertIsNone(result.get('errors')) - self.assertEqual(len(result.get('data').get('projects').get('edges')), 0) + self.assertEqual(len(result.get('data').get('projects')), 0) def test_teacher_should_not_see_unfinished_projects(self): - request = RequestFactory().get('/') - request.user = self.teacher - self.client = Client(schema=schema, context_value=request) - - result = self.client.execute(self.query) + result = self.get_client().execute(self.query) self.assertIsNone(result.get('errors')) - self.assertEqual(len(result.get('data').get('projects').get('edges')), 0) - - def test_teacher_should_only_see_finished_projects(self): - self.project1.final = True - self.assertEqual(Project.objects.count(), 1) - request = RequestFactory().get('/') - request.user = self.teacher - self.client = Client(schema=schema, context_value=request) - - result = self.client.execute(self.query) - - self.assertIsNone(result.get('errors')) - self.assertEqual(result.get('data').get('projects').get('edges')[0].get('node').get('title'), - self.project1.title) + self.assertEqual(len(result.get('data').get('projects')), 0) def test_teacher_should_only_see_finished_projects(self): self.project1.final = True self.project1.save() self.assertEqual(Project.objects.count(), 1) - request = RequestFactory().get('/') - request.user = self.teacher - self.client = Client(schema=schema, context_value=request) - result = self.client.execute(self.query) + result = self.get_client().execute(self.query) self.assertIsNone(result.get('errors')) - self.assertEqual(result.get('data').get('projects').get('edges')[0].get('node').get('title'), + self.assertEqual(result.get('data').get('projects')[0].get('title'), self.project1.title) + def test_other_teacher_should_not_see_projects(self): self.project1.final = True self.project1.save() self.assertEqual(Project.objects.count(), 1) - request = RequestFactory().get('/') - request.user = self.teacher2 - self.client = Client(schema=schema, context_value=request) - result = self.client.execute(self.query) + + result = self.get_client(self.teacher2).execute(self.query) self.assertIsNone(result.get('errors')) - self.assertEqual(len(result.get('data').get('projects').get('edges')), 0) + self.assertEqual(len(result.get('data').get('projects')), 0)