def test_update(self): exam = exam_recipe.make() certification = certification_recipe.make() serializer = AddCertificationToExamSerializer() data = {'certification': [certification]} updated_exam = serializer.update(exam, data) self.assertTrue(certification in updated_exam.certification.all())
def setUpTestData(cls): cls.password = '******' cls.user = user_recipe.make() cls.user.set_password(cls.password) cls.user.save() cls.exam = exam_recipe.make() cls.url = reverse('api:certifications_api:add_cert_to_exam', args=[cls.exam.pk])
def setUpTestData(cls): cls.exam_1 = exam_with_certification.make() cls.exam_2 = exam_recipe.make(title='Test-1', number='test-1') cls.exam_2.certification.add(cls.exam_1.certification.all()[0]) cls.now = timezone.now() cls.user = user_recipe.make() cls.serializer = BulkUserExamSerializer() cls.serializer.context['request'] = create_mock_request(cls.user) cls.user_certification = user_certification_recipe.make(user=cls.user, certification=cls.exam_1.certification.all()[0])
def test_update(self): user_exam = user_exam_recipe.make(user=self.user, user_certification=self.user_certification, exam=self.exam) new_certification = certification_recipe.make(title='Test-1', number='test-1', vendor=Vendor.objects.all()[0]) new_user_certification = user_certification_recipe.make(user=self.user, certification=new_certification) new_exam = exam_recipe.make(title='Test-1', number='test-1') new_exam.certification.add(new_certification) data = {'user_certification_id': new_user_certification, 'exam_id': new_exam, 'date_of_pass': self.now, 'remind_at_date': self.now} updated_exam = self.serializer.update(user_exam, data) self.assertEqual(updated_exam.user, self.user) self.assertEqual(updated_exam.user_certification_id, new_user_certification.pk) self.assertEqual(updated_exam.exam_id, new_exam.pk) self.assertEqual(updated_exam.date_of_pass, self.now) self.assertEqual(updated_exam.remind_at_date, self.now)
def test_create(self): new_exam = exam_recipe.make(title='Test-1', number='test-1') new_exam.certification.add(self.user_certification.certification) data = { 'user_certification_id': self.user_certification.pk, 'exam_id': new_exam.pk, 'date_of_pass': self.now.strftime('%Y-%m-%d'), 'remind_at_date': None } response = self.client.post(self.url, data, content_type='application/json') self.assertEqual(response.status_code, 201) user_exam_data = response.data self.assertEqual(user_exam_data['user']['id'], self.user.id) self.assertEqual(user_exam_data['user_certification_id'], self.user_certification.id) self.assertEqual(user_exam_data['exam_id'], new_exam.pk) self.assertEqual( datetime.strptime(user_exam_data['date_of_pass'], '%Y-%m-%d').date(), self.now.date())
def test_validate_incorrect(self): exam = exam_recipe.make(title='Test-2', number='test-2') data = {'exams': [{'exam_id': exam, 'user_certification_id': self.user_certification}]} with self.assertRaisesMessage(ValidationError, 'Exam {} is not part of certification {}'.format( exam.pk, self.exam_1.certification.all()[0].pk)): self.serializer.validate(data)