Ejemplo n.º 1
0
    def test_full_payment_inactive(self):
        user = Database.new_user()
        event = EventDatabase.new_event(start_date=self.date_inactive)
        attendee = EventDatabase.attend(user, event)

        Membership.objects.create(
            user=user, attendee=attendee, bind_date=self.date_inactive, membership_type=MembershipType.FULL
        )

        self.assertEqual(MembershipState.INACTIVE, Membership.objects.get_membership_state(user, datetime.today()))
Ejemplo n.º 2
0
    def test_srate_payment_active(self):
        user = Database.new_user()
        event = EventDatabase.new_event(start_date=self.date_active)
        attendee = EventDatabase.attend(user, event)

        Membership.objects.create(
            user=user, attendee=attendee, bind_date=self.date_active, membership_type=MembershipType.FRATE
        )

        event = EventDatabase.new_event(start_date=self.date_active + timedelta(days=1))
        attendee = EventDatabase.attend(user, event)

        Membership.objects.create(
            user=user,
            attendee=attendee,
            bind_date=self.date_active + timedelta(days=1),
            membership_type=MembershipType.SRATE,
        )

        self.assertEqual(MembershipState.ACTIVE, Membership.objects.get_membership_state(user, datetime.today()))
Ejemplo n.º 3
0
    def test_rate_payment_active(self):
        user = Database.new_user()
        event = EventDatabase.new_event(start_date=self.date_active)
        attendee = EventDatabase.attend(user, event)

        Membership.objects.create(
            user=user, attendee=attendee, bind_date=self.date_active, membership_type=MembershipType.RATE
        )

        self.assertEqual(MembershipState.ACTIVE, Membership.objects.get_membership_state(user, datetime.today()))

        self.assertNotEqual(Membership.objects.member_since(user), None)
Ejemplo n.º 4
0
    def test_get_expected_choices_for_active_members(self):
        user = Database.new_user()
        event = EventDatabase.new_event(start_date=self.date_active)
        attendee = EventDatabase.attend(user, event)

        event2 = EventDatabase.new_event(start_date=self.date_active + timedelta(days=1))

        Membership.objects.create(
            user=user, attendee=attendee, bind_date=self.date_active, membership_type=MembershipType.RATE
        )

        assert Membership.objects.get_membership_choices(user, event2) == []
Ejemplo n.º 5
0
    def test_frate_payment_condactive(self):
        user = Database.new_user()
        event = EventDatabase.new_event(start_date=self.date_active)
        attendee = EventDatabase.attend(user, event)

        Membership.objects.create(
            user=user, attendee=attendee, bind_date=self.date_active, membership_type=MembershipType.FRATE
        )

        self.assertEqual(
            MembershipState.CONDITIONAL_ACTIVE, Membership.objects.get_membership_state(user, datetime.today())
        )
Ejemplo n.º 6
0
    def test_pass_payment_active_at_the_relevant_event(self):

        user = Database.new_user()
        event = EventDatabase.new_event(start_date=self.date_active)
        attendee = EventDatabase.attend(user, event)

        Membership.objects.create(
            user=user, attendee=attendee, bind_date=self.date_active, membership_type=MembershipType.PASS
        )

        self.assertEqual(
            MembershipState.ACTIVE,
            Membership.objects.get_membership_state(user, self.date_active, fake_upgrade_attendance_as_full=attendee),
        )

        self.assertEqual(Membership.objects.member_since(user), None)
Ejemplo n.º 7
0
    def test_get_expected_choices_for_inactive_but_existing_member(self):
        user = Database.new_user()
        event = EventDatabase.new_event(start_date=self.date_inactive)
        attendee = EventDatabase.attend(user, event)

        Membership.objects.create(
            user=user, attendee=attendee, bind_date=self.date_inactive, membership_type=MembershipType.RATE
        )

        event2 = EventDatabase.new_event(start_date=self.date_active)

        assert Membership.objects.get_membership_state(user, self.date_active) == MembershipState.INACTIVE

        choices = Membership.objects.get_membership_choices(user, event2)
        assert len(choices) == 1
        assert MembershipType.RATE in choices