Exemple #1
0
 def setUp(self):
     self.t1 = Ticket(timezone.make_aware(datetime(2016, 12, 24, 7)),
                      timezone.make_aware(datetime(2016, 12, 24, 9)))
     self.t2 = Ticket(timezone.make_aware(datetime(2016, 12, 24, 9)),
                      timezone.make_aware(datetime(2016, 12, 24, 10)))
     self.t3 = Ticket(timezone.make_aware(datetime(2016, 12, 24, 16)),
                      timezone.make_aware(datetime(2016, 12, 24, 18)))
     self.t4 = Ticket(timezone.make_aware(datetime(2016, 12, 24, 18)),
                      timezone.make_aware(datetime(2016, 12, 24, 20)))
     self.sch = Schedule.objects.create(
         schedule_lot=ScheduleLot.objects.create(name='Strefa A'),
         start=timezone.make_aware(datetime(2016, 12, 24, 8)),
         end=timezone.make_aware(datetime(2016, 12, 24, 17)))
Exemple #2
0
 def test_price_calculation(self):
     # prepare
     t = Ticket(self.start, self.end)
     # do
     price = self.lot.calculate_price(t)
     # check
     self.assertEqual(price, Decimal('9.0'), msg='Price is wrong')
Exemple #3
0
 def test_get_schedule_from_one_day(self):
     # prepare
     t = Ticket(self.s1_start, self.s1_start + timedelta(hours=2))
     # do
     schedule = self.lot.get_schedule_for_date(t.start)
     # check
     self.assertEqual(schedule.start, self.s1_start, msg='Wrong schedule')
Exemple #4
0
 def test_get_schedule_start_in_ends_after(self):
     # prepare
     t = Ticket(self.s1_start + timedelta(hours=3),
                self.s1_end + timedelta(hours=2))
     # do
     schedule = self.lot.get_schedule_for_date(t.start)
     # check
     self.assertEqual(schedule.start, self.s1_start, msg='Wrong schedule')
Exemple #5
0
 def test_get_schedule_week_later(self):
     # prepare
     start = self.s1_start + timedelta(days=7)
     t = Ticket(start, start + timedelta(hours=2))
     # do
     schedule = self.lot.get_schedule_for_date(t.start)
     # check
     self.assertEqual(schedule.start, start, msg='Wrong schedule')
Exemple #6
0
 def test_ticket_start_before_end_after(self):
     # prepare
     self.charges1()
     t = Ticket(start=self.s_start - timedelta(minutes=45),
                end=self.s_end + timedelta(days=1))
     # do
     price = self.sch.calculate_price(t)
     # check
     self.assertEqual(price, Decimal('9.0'), msg='Price is wrong')
Exemple #7
0
 def test_ticket_in_three_charges(self):
     # prepare
     self.charges1()
     t = Ticket(start=self.s_start + timedelta(hours=1),
                end=self.s_start + timedelta(hours=3, minutes=30))
     # do
     sch = Schedule.objects.get()
     price = sch.calculate_price(t)
     # check
     self.assertEqual(price, Decimal('2.5'), msg='Price is wrong')
Exemple #8
0
 def test_ticket_in_one_charge(self):
     # prepare
     self.charges1()
     t = Ticket(start=self.s_start,
                end=self.s_start + timedelta(minutes=60))
     # do
     sch = Schedule.objects.get()
     price = sch.calculate_price(t)
     # check
     self.assertEqual(price, Decimal('1.0'), msg='Price is wrong')