Ejemplo n.º 1
0
    def test_get_fee_amounts(self):
        event = Event.objects.get(pk=6)
        course = Course.objects.get(pk=1)
        holes = list(course.holes.all())
        event_fees = list(EventFee.objects.filter(event=6).all())
        registration = Registration(event=event,
                                    course=course,
                                    starting_hole=2,
                                    starting_order=0)
        player1 = Player(id=1, email="*****@*****.**")
        player2 = Player(id=2, email="*****@*****.**")
        user1 = User(id=1, email="*****@*****.**")
        slot1 = RegistrationSlot(event=event,
                                 registration=registration,
                                 hole=holes[0],
                                 player=player1,
                                 starting_order=0,
                                 slot=0,
                                 status="R")
        slot2 = RegistrationSlot(event=event,
                                 registration=registration,
                                 hole=holes[0],
                                 player=player2,
                                 starting_order=0,
                                 slot=1,
                                 status="R")
        payment = Payment(event=event,
                          user=user1,
                          payment_code="test",
                          notification_type="C",
                          confirmed=1)
        payment_details = [
            RegistrationFee(id=1,
                            event_fee=event_fees[0],
                            registration_slot=slot1,
                            payment=payment),
            RegistrationFee(id=2,
                            event_fee=event_fees[1],
                            registration_slot=slot1,
                            payment=payment),
            RegistrationFee(id=3,
                            event_fee=event_fees[3],
                            registration_slot=slot1,
                            payment=payment),
            RegistrationFee(id=4,
                            event_fee=event_fees[0],
                            registration_slot=slot2,
                            payment=payment),
            RegistrationFee(id=5,
                            event_fee=event_fees[2],
                            registration_slot=slot2,
                            payment=payment)
        ]

        required_fees = get_required_fees(event, payment_details)
        optional_fees = get_optional_fees(event, payment_details)

        self.assertEqual(Decimal(10), required_fees)
        self.assertEqual(Decimal(29), optional_fees)
Ejemplo n.º 2
0
    def test_event_is_full(self):
        event = update_event_to_registering(event_id=4)
        event.registration_maximum = 1
        event.save()

        slot = RegistrationSlot(event_id=4, starting_order=0, status="R")
        slot.save()

        data = json.dumps({
            "event": 4,
            "slots": []
        })
        client = APIClient()
        client.force_authenticate(user=self.user)
        response = client.post("/api/registration/", data=data, content_type="application/json")

        self.assertEqual(response.status_code, HTTPStatus.BAD_REQUEST)
        self.assertEqual(response.data["detail"], "The event field is full")
Ejemplo n.º 3
0
 def test_get_start_teetimes_tenth_group(self):
     event = Event.objects.get(pk=3)
     course = Course.objects.get(pk=1)
     hole = Hole.objects.get(pk=1)
     registration = Registration(event=event, course=course)
     slot = RegistrationSlot(event=event,
                             registration=registration,
                             hole=hole,
                             starting_order=9)
     start = get_start(event, registration, slot)
     self.assertEqual("East 4:12 PM", start)
Ejemplo n.º 4
0
 def test_get_start_shotgun_b_group(self):
     event = Event.objects.get(pk=6)
     course = Course.objects.get(pk=1)
     hole = Hole.objects.get(pk=9)
     registration = Registration(event=event, course=course)
     slot = RegistrationSlot(event=event,
                             registration=registration,
                             hole=hole,
                             starting_order=1)
     start = get_start(event, registration, slot)
     self.assertEqual("East 9B", start)
Ejemplo n.º 5
0
    def test_get_email_recipients(self):
        event = Event.objects.get(pk=6)
        course = Course.objects.get(pk=1)
        holes = list(course.holes.all())
        registration = Registration(event=event,
                                    course=course,
                                    starting_hole=2,
                                    starting_order=0)
        user1 = User(id=1, email="*****@*****.**")
        player1 = Player(id=1, email="*****@*****.**")
        player2 = Player(id=2, email="*****@*****.**")
        slot1 = RegistrationSlot(event=event,
                                 registration=registration,
                                 hole=holes[0],
                                 player=player1,
                                 starting_order=0,
                                 slot=0,
                                 status="R")
        slot2 = RegistrationSlot(event=event,
                                 registration=registration,
                                 hole=holes[0],
                                 player=player2,
                                 starting_order=0,
                                 slot=1,
                                 status="R")
        slot3 = RegistrationSlot(event=event,
                                 registration=registration,
                                 hole=holes[0],
                                 player=None,
                                 starting_order=0,
                                 slot=2,
                                 status="P")

        emails = get_recipients(user1, [slot1, slot2, slot3])

        self.assertEqual(1, len(emails))
        self.assertEqual("*****@*****.**", emails[0])
Ejemplo n.º 6
0
    def test_get_players(self):
        event = Event.objects.get(pk=6)
        course = Course.objects.get(pk=1)
        holes = list(course.holes.all())
        event_fees = list(EventFee.objects.filter(event=6).all())
        registration = Registration(event=event,
                                    course=course,
                                    starting_hole=2,
                                    starting_order=0)
        user1 = User(id=1, email="*****@*****.**")
        player1 = Player(id=1, email="*****@*****.**")
        player2 = Player(id=2, email="*****@*****.**")
        slot1 = RegistrationSlot(event=event,
                                 registration=registration,
                                 hole=holes[0],
                                 player=player1,
                                 starting_order=0,
                                 slot=0,
                                 status="R")
        slot2 = RegistrationSlot(event=event,
                                 registration=registration,
                                 hole=holes[0],
                                 player=player2,
                                 starting_order=0,
                                 slot=1,
                                 status="R")
        slot3 = RegistrationSlot(event=event,
                                 registration=registration,
                                 hole=holes[0],
                                 player=None,
                                 starting_order=0,
                                 slot=2,
                                 status="P")
        payment = Payment(event=event,
                          user=user1,
                          payment_code="test",
                          notification_type="C",
                          confirmed=1)
        payment_details = [
            RegistrationFee(id=1,
                            event_fee=event_fees[0],
                            registration_slot=slot1,
                            payment=payment),
            RegistrationFee(id=2,
                            event_fee=event_fees[1],
                            registration_slot=slot1,
                            payment=payment),
            RegistrationFee(id=3,
                            event_fee=event_fees[3],
                            registration_slot=slot1,
                            payment=payment),
            RegistrationFee(id=4,
                            event_fee=event_fees[0],
                            registration_slot=slot2,
                            payment=payment),
            RegistrationFee(id=5,
                            event_fee=event_fees[2],
                            registration_slot=slot2,
                            payment=payment)
        ]

        players = get_players(event, [slot1, slot2, slot3], payment_details)

        self.assertEqual(2, len(players))
        self.assertEqual(3, len(players[0]["fees"]))
        self.assertEqual(2, len(players[1]["fees"]))