diff --git a/cinema/tests.py b/cinema/tests.py index 1edba4fe13403b6441894ea3e9beca921de1a965..c2a1da1feb6f499b0187f4930cc43905f9fac7e3 100644 --- a/cinema/tests.py +++ b/cinema/tests.py @@ -5,6 +5,7 @@ from django.contrib.auth.models import Group from cinema.models import * import datetime from django.urls import reverse +from django.utils import timezone class AddCinemaTests(TestCase): def setUp(self): @@ -18,7 +19,8 @@ class AddCinemaTests(TestCase): cinema = Cinema.objects.create(name="Cinema", location="Bristol") screen = Screen.objects.create(cinema=cinema, screen_number=1, seating_capacity=100) film = Film.objects.create(title="Film1", length=datetime.timedelta(hours=2), rating=12, genre="Comedy", poster_url="www.example.com/image.webp") - #showing = Showing.objects.create(screen=screen, film=film, start_time=datetime.time(11, 30, 0)) + tz = timezone.get_current_timezone() + showing = Showing.objects.create(screen=screen, film=film, start_time=datetime.datetime(2023, 1, 1, 11, 30, 0, tzinfo=tz), end_time=datetime.datetime(2023, 1, 1, 13, 30, 0,tzinfo=tz), available_seats=200) # Test: add a new film # Expected result: new film object added to the system @@ -39,7 +41,7 @@ class AddCinemaTests(TestCase): def testShowingCreated(self): response = self.client.post(reverse('create_showing'), {'screen':Screen.objects.get(screen_number=1).id, 'film':Film.objects.get(title="Film1").id, 'start_time':"0023-04-24 16:44:00", 'social_distancing': False}) self.assertEqual(response.status_code, 302) - self.assertEqual(len(Showing.objects.filter()), 1) + self.assertEqual(len(Showing.objects.filter()), 2) # CURRENTLY DOES NOT WORK # Test: add a new cinema @@ -64,16 +66,18 @@ class AddCinemaTests(TestCase): self.assertEqual(response.status_code, 302) self.assertEqual(Screen.objects.get(screen_number=1).seating_capacity, 300) - # #Does not manage to delete the provided screen object - # def testScreenDeleted(self): - # s = Screen.objects.create(cinema=Cinema.objects.get(name="Cinema"), screen_number=3, seating_capacity=200) - # pk = str(s.id) - # response = self.client.post("/manage_screens/delete_screen/" + pk) - # self.assertEqual(Screen.objects.get(screen_number=3), None) + # Test: delete a screen + # Expected result: screen no longer exists + def testScreenDeleted(self): + self.assertEqual(len(Screen.objects.filter()), 1) + response = self.client.post(reverse('delete_screen', args=[1])) + self.assertEqual(response.status_code, 302) + self.assertEqual(len(Screen.objects.filter()), 0) - # #ERROR: directs to top_up_balance + # Test: update an existing showing + # Expected result: showing's time is changed # def testShowingUpdated(self): - # form = ShowingForm(data={'screen':Screen.objects.Get(screen_number=2), 'film':Film.objects.Get(name="Film1"), 'start_time':datetime.time(12, 45, 0)}) + # form = ShowingForm(data={'screen':Screen.objects.Get(screen_number=1), 'film':Film.objects.Get(name="Film1"), 'start_time':datetime.time(12, 45, 0)}) # pk = 1 # response = self.client.post("/manage_screens/showings/update_showing/" + pk + "/", form=form) # self.assertEqual(response.status_code, HTTPStatus.FOUND)