| @ -0,0 +1,59 @@ | |||||
| from django.core.files.uploadedfile import SimpleUploadedFile | |||||
| from django.test import modify_settings | |||||
| from django.urls import reverse | |||||
| from rest_framework import status | |||||
| from rest_framework.test import APIClient, APITestCase | |||||
| from edivorce.apps.core.models import BceidUser, Document | |||||
| @modify_settings(MIDDLEWARE={'remove': 'edivorce.apps.core.middleware.bceid_middleware.BceidMiddleware',}) | |||||
| class APITest(APITestCase): | |||||
| def setUp(self): | |||||
| self.user = BceidUser.objects.create(user_guid='1234') | |||||
| self.client = APIClient() | |||||
| self.file = SimpleUploadedFile('test.pdf', b'test content') | |||||
| def test_get_unauthorized(self): | |||||
| url = reverse('documents') | |||||
| response = self.client.get(url) | |||||
| self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) | |||||
| self.client.force_authenticate(self.user) | |||||
| response = self.client.get(url) | |||||
| self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED) | |||||
| def test_post_unauthorized(self): | |||||
| data = { | |||||
| 'file': self.file, | |||||
| 'doc_type': 'AAI', | |||||
| 'party_code': 1 | |||||
| } | |||||
| url = reverse('documents') | |||||
| response = self.client.post(url, data) | |||||
| self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) | |||||
| def test_post(self): | |||||
| self.assertEqual(Document.objects.count(), 0) | |||||
| self.client.login(username='lauren', password='secret') | |||||
| data = { | |||||
| 'file': self.file, | |||||
| 'doc_type': 'AAI', | |||||
| 'party_code': 1 | |||||
| } | |||||
| self.client.force_authenticate(self.user) | |||||
| url = reverse('documents') | |||||
| response = self.client.post(url, data, user=self.user) | |||||
| self.assertEqual(response.status_code, status.HTTP_201_CREATED) | |||||
| self.assertEqual(Document.objects.count(), 1) | |||||
| document = Document.objects.first() | |||||
| # Check document properties | |||||
| self.assertEqual(document.bceid_user, self.user) | |||||
| self.assertEqual(document.doc_type, 'AAI') | |||||
| self.assertEqual(document.party_code, 1) | |||||
| self.assertEqual(document.filename, self.file.name) | |||||
| self.assertEqual(document.size, self.file.size) | |||||