Files
web2.0-backend/webapp/tests/test_jobads.py
T
Aarni Halinen 6e74548206 Fix tests
2022-08-06 17:46:27 +03:00

56 lines
1.9 KiB
Python

from django.contrib.auth.models import User
from rest_framework import status
from rest_framework.test import APITestCase, APIRequestFactory
from webapp.models import JobAd
from webapp.serializers import JobAdSerializer
API = "/api/jobads/"
class JobAdTestCase(APITestCase):
def setUp(self):
self.prefilled_jobad = JobAd.objects.create(
title_fi="ABB Test",
title_en="ABB Test",
isPublished=True,
description_fi="desc",
description_en="desc",
content_fi="lorem",
content_en="lorem",
)
username, password = "test_admin", "password123"
self.authClient = User.objects.create_superuser(
username, "myemail@test.com", password
)
def test_get_jobads(self):
response = self.client.get(API, format="json")
expected = JobAdSerializer(self.prefilled_jobad).data
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data["results"][0], expected)
def test_post_jobad(self):
data = {
"title_fi": "testtitle",
"title_en": "testtitle",
"isPublished": "True",
"description_fi": "liirumlaarum",
"description_en": "liirumlaarum",
"content_fi": "lorem ipsum",
"content_en": "lorem ipsum",
"autoUnpublish": "True",
}
# Try post without authentication
response = self.client.post(API, data, format="json")
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
self.assertEqual(JobAd.objects.count(), 1)
# Authenticate
self.client.force_authenticate(user=self.authClient)
response = self.client.post(API, data, format="json")
# Return success and check object was created
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
self.assertEqual(JobAd.objects.count(), 2)