Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.test import TestCase
- from datetime import datetime, timedelta
- from dateutil import parser
- from django.contrib.auth.models import User
- from .models import Flight, Ticket, Crew, Plane
- # Create your tests here.
- class RestApiTestCase(TestCase):
- date = parser.parse("Jun 1 2018 1:00PM")
- def setUp(self):
- User.objects.create_user(username='user', password='user')
- airplane1 = Plane.objects.create(license_plate=1, capacity=50)
- airplane2 = Plane.objects.create(license_plate=2, capacity=100)
- crew1 = Crew.objects.create(captain_name='John', captain_surname='Williams')
- crew2 = Crew.objects.create(captain_name='Mathew', captain_surname='Kowalski')
- flight1 = Flight.objects.create(plane=airplane1, flight_from="Miami", flight_to="Rome",
- departure_time=self.date, arrival_time=self.date + timedelta(hours=10))
- flight2 = Flight.objects.create(plane=airplane2, flight_from="New York", flight_to="Tokyo",
- departure_time=self.date, arrival_time=self.date + timedelta(hours=15), crew=crew2)
- def test_get_crews(self):
- response = self.client.get('/flight_manager/api/get_crews/')
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.content, b'{"crews": [{"name": "John Williams"}, {"name": "Mathew Kowalski"}]}')
- def test_add_crew(self):
- response = self.client.post('/flight_manager/api/change_crew/', data={
- 'flight_id' : '1',
- 'captain' : 'John Williams'
- })
- self.assertEqual(response.status_code, 200)
- self.assertEqual(Flight.objects.get(pk=1).crew_id, Crew.objects.get(captain_name='John', captain_surname='Williams').id)
- def test_change_crew(self):
- response = self.client.post('/flight_manager/api/change_crew/', data={
- 'flight_id' : '1',
- 'captain' : 'Mathew Kowalski'
- })
- self.assertEqual(response.status_code, 403)
- self.assertNotEqual(Flight.objects.get(pk=1).crew_id, Crew.objects.get(captain_name='Mathew', captain_surname='Kowalski').id)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement