Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. from django.test import TestCase
  2. from datetime import datetime, timedelta
  3. from dateutil import parser
  4. from django.contrib.auth.models import User
  5. from .models import Flight, Ticket, Crew, Plane
  6.  
  7. # Create your tests here.
  8.  
  9. class RestApiTestCase(TestCase):
  10. date = parser.parse("Jun 1 2018 1:00PM")
  11.  
  12. def setUp(self):
  13. User.objects.create_user(username='user', password='user')
  14. airplane1 = Plane.objects.create(license_plate=1, capacity=50)
  15. airplane2 = Plane.objects.create(license_plate=2, capacity=100)
  16.  
  17. crew1 = Crew.objects.create(captain_name='John', captain_surname='Williams')
  18. crew2 = Crew.objects.create(captain_name='Mathew', captain_surname='Kowalski')
  19.  
  20. flight1 = Flight.objects.create(plane=airplane1, flight_from="Miami", flight_to="Rome",
  21. departure_time=self.date, arrival_time=self.date + timedelta(hours=10))
  22. flight2 = Flight.objects.create(plane=airplane2, flight_from="New York", flight_to="Tokyo",
  23. departure_time=self.date, arrival_time=self.date + timedelta(hours=15), crew=crew2)
  24.  
  25. def test_get_crews(self):
  26. response = self.client.get('/flight_manager/api/get_crews/')
  27. self.assertEqual(response.status_code, 200)
  28. self.assertEqual(response.content, b'{"crews": [{"name": "John Williams"}, {"name": "Mathew Kowalski"}]}')
  29.  
  30. def test_add_crew(self):
  31. response = self.client.post('/flight_manager/api/change_crew/', data={
  32. 'flight_id' : '1',
  33. 'captain' : 'John Williams'
  34. })
  35. self.assertEqual(response.status_code, 200)
  36. self.assertEqual(Flight.objects.get(pk=1).crew_id, Crew.objects.get(captain_name='John', captain_surname='Williams').id)
  37.  
  38. def test_change_crew(self):
  39. response = self.client.post('/flight_manager/api/change_crew/', data={
  40. 'flight_id' : '1',
  41. 'captain' : 'Mathew Kowalski'
  42. })
  43. self.assertEqual(response.status_code, 403)
  44. 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