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)
Пример #3
0
 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)
     ))
Пример #8
0
    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')
Пример #9
0
 def setUp(self):
     ReservationFactory.create()
Пример #10
0
 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')
Пример #11
0
    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')