def test_get_reserved_dates_returns_correct_dates(self): ReservationFactory(reservable=self.reservable, start_time=datetime.datetime(year=2015, month=6, day=30, hour=15), end_time=datetime.datetime(year=2015, month=7, day=5, hour=12)) ReservationFactory(reservable=self.reservable, start_time=datetime.datetime(year=2015, month=7, day=10, hour=12), end_time=datetime.datetime(year=2015, month=7, day=15, hour=12)) dates = self.reservable.get_reserved_dates(start=datetime.date( year=2015, month=5, day=1), end=datetime.date(year=2015, month=8, day=1)) self.assertEquals(len(dates), 10)
def test_get_reserved_dates_for_period_returns_correct_dates(self): self.reservable2 = ReservableProductFactory() ReservationFactory( reservable=self.reservable, start_time=datetime.datetime(year=2015, month=6, day=30, hour=15), end_time=datetime.datetime(year=2015, month=7, day=5, hour=12) ) ReservationFactory( reservable=self.reservable2, start_time=datetime.datetime(year=2015, month=7, day=10, hour=12), end_time=datetime.datetime(year=2015, month=7, day=15, hour=12) ) dates = Reservation.get_reserved_days_for_period( start_date=datetime.date(year=2015, month=6, day=30), end_date=datetime.date(year=2015, month=7, day=15) ) self.assertEquals(len(dates), 10)
def test_reservations_on_date(self): tables = TableFactory.create_batch(2) client = ClientFactory() reservation = ReservationFactory(client=client, date="2020-09-21") for table in tables: reservation.tables.add(table) response = self.client.get('/api/reservations/?date=2020-09-21') self.assertEqual(len(response.data), 1) self.assertEqual(response.data[0]['tables'], [1, 2])
def setUp(self): super(DateRangeCheckViewTestCase, self).setUp() self.reservable = ReservableProductFactory() self.reservation = ReservationFactory( reservable=self.reservable, start_time=datetime.datetime.today(), end_time=datetime.datetime.today() + datetime.timedelta(days=3) ) self.today = datetime.date.today() self.next = datetime.date.today() + relativedelta.relativedelta(months=1)
def test_get_reserved_dates_for_period_returns_correct_dates__spanning_months(self): ReservationFactory( reservable=self.reservable, start_time=datetime.datetime(year=2015, month=6, day=30, hour=15), end_time=datetime.datetime(year=2015, month=8, day=5, hour=12) ) dates = Reservation.get_reserved_days_for_period( start_date=datetime.date(year=2015, month=7, day=15), end_date=datetime.date(year=2015, month=7, day=20) ) self.assertEquals(len(dates), 6)
def setUp(self): super(ReservableSearchViewTestCase, self).setUp() self.reservable = ReservableProductFactory() self.today = datetime.date.today() self.now = datetime.time(15) self.next = self.today + relativedelta.relativedelta(months=1) self.reservation = ReservationFactory( reservable=self.reservable, start_time=datetime.datetime.combine(self.today, self.now), end_time=datetime.datetime.combine( self.today + datetime.timedelta(days=3), self.now)) self.response = self.client.get( reverse('reservations:reservable.search'))
def test_is_period_free(self): ReservationFactory( reservable=self.reservable, start_time=datetime.datetime(year=2015, month=6, day=30, hour=15), end_time=datetime.datetime(year=2015, month=7, day=5, hour=12) ) ReservationFactory( reservable=self.reservable, start_time=datetime.datetime(year=2015, month=7, day=10, hour=12), end_time=datetime.datetime(year=2015, month=7, day=15, hour=12) ) self.assertFalse(self.reservable.is_period_days_free( datetime.date(year=2015, month=6, day=27), datetime.date(year=2015, month=7, day=3) )) self.assertTrue(self.reservable.is_period_days_free( datetime.date(year=2015, month=6, day=27), datetime.date(year=2015, month=6, day=29) )) self.assertTrue(self.reservable.is_period_days_free( datetime.date(year=2015, month=6, day=27), datetime.date(year=2015, month=6, day=30) ))
def test_corporation_full(self): corp_account = CorporateAccountFactory() corp_user = UserFactory(account=corp_account) flight = FlightFactory(seats_total=8, seats_available=4, max_seats_corporate=4) reservation = ReservationFactory.create(account=corp_account) FlightReservationFactory.create(reservation=reservation, flight=flight, passenger_count=1) self.assertFalse(flight.is_flight_full(corp_user), 'corp flight not full yet') FlightReservationFactory.create(reservation=reservation, flight=flight, passenger_count=1) self.assertFalse(flight.is_flight_full(corp_user), 'corp flight not full yet') FlightReservationFactory.create(reservation=reservation, flight=flight, passenger_count=1) self.assertFalse(flight.is_flight_full(corp_user), 'corp flight not full yet') FlightReservationFactory.create(reservation=reservation, flight=flight, passenger_count=1) self.assertTrue(flight.is_flight_full(corp_user), 'too many of same corp on plane')
def setUp(self): ReservationFactory.create()
def setUp(self): self.reservation1 = ReservationFactory.create(start_date='2017-09-07', end_date='2017-09-10') self.reservation2 = ReservationFactory.create(start_date='2017-09-08', end_date='2017-09-12')
def test_plan_seat_restrictions(self): plan_1 = PlanFactory() plan_2 = PlanFactory() plan_3 = PlanFactory() account_1 = AccountFactory(plan=plan_1) account_2 = AccountFactory(plan=plan_2) account_3 = AccountFactory(plan=plan_3) user_1 = UserFactory(account=account_1) user_2 = UserFactory(account=account_2) user_3 = UserFactory(account=account_3) flight = FlightFactory(departure=arrow.now().replace(days=+12).datetime, seats_total=8) self.assertTrue(flight.check_plan_seat_restrictions(user_1, 1), 'no plan seat restrictions') self.assertTrue(flight.check_plan_seat_restrictions(user_2, 1), 'no plan seat restrictions') self.assertTrue(flight.check_plan_seat_restrictions(user_3, 1), 'no plan seat restrictions') FlightPlanSeatRestrictionFactory(flight=flight, plan=plan_1, seats=1) FlightPlanSeatRestrictionFactory(flight=flight, plan=plan_2, seats=2) FlightPlanSeatRestrictionFactory(flight=flight, plan=plan_3, seats=3) self.assertTrue(flight.check_plan_seat_restrictions(user_1, 1), 'seats still available for plan') self.assertTrue(flight.check_plan_seat_restrictions(user_2, 1), 'seats still available for plan') self.assertTrue(flight.check_plan_seat_restrictions(user_3, 1), 'seats still available for plan') account_4 = AccountFactory(plan=plan_1) account_5 = AccountFactory(plan=plan_2) account_6 = AccountFactory(plan=plan_3) reservation_4 = ReservationFactory(account=account_4) FlightReservationFactory.create(reservation=reservation_4, flight=flight, passenger_count=1) reservation_4.reserve() self.assertFalse(flight.check_plan_seat_restrictions(user_1, 1), 'No seats still available for plan') reservation_5 = ReservationFactory(account=account_5) FlightReservationFactory.create(reservation=reservation_5, flight=flight, passenger_count=2) reservation_5.reserve() self.assertFalse(flight.check_plan_seat_restrictions(user_2, 1), 'No seats still available for plan') reservation_6 = ReservationFactory(account=account_6) FlightReservationFactory.create(reservation=reservation_6, flight=flight, passenger_count=3) reservation_6.reserve() self.assertFalse(flight.check_plan_seat_restrictions(user_3, 1), 'No seats still available for plan')