Browse Source

DIV-1165: Set up tests. Test post method.

pull/170/head
ariannedee 5 years ago
parent
commit
681c64579e
1 changed files with 59 additions and 0 deletions
  1. +59
    -0
      edivorce/apps/core/tests/test_api.py

+ 59
- 0
edivorce/apps/core/tests/test_api.py View File

@ -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)

Loading…
Cancel
Save