Esempio n. 1
0
    def test_dump_data_contains_attendees(self):
        self.event = generate_event()
        self.attendee1 = attend_user_to_event(user=self.user, event=self.event)

        response = self.client.get(self.id_url(self.user.id), **self.headers)
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.json().get("attendees")), 1)
Esempio n. 2
0
    def setUp(self):
        self.committee: Group = G(Group, name="Arrkom")
        assign_perm("events.change_attendee", self.committee)
        self.user.groups.add(self.committee)

        self.event = generate_event(organizer=self.committee)
        self.attendee1 = generate_attendee(self.event, "test1", "0123")
        self.attendee2 = generate_attendee(self.event, "test2", "3210")
        self.attendees = [self.attendee1, self.attendee2]
Esempio n. 3
0
    def test_filter_companies_in_event_list(self):
        onlinecorp: Company = G(Company, name="onlinecorp")
        bedpres_with_onlinecorp = generate_event(organizer=self.committee)
        G(CompanyEvent, company=onlinecorp, event=bedpres_with_onlinecorp)
        evilcorp: Company = G(Company, name="evilcorp")
        bedpres_with_evilcorp = generate_event(organizer=self.committee)
        G(CompanyEvent, company=evilcorp, event=bedpres_with_evilcorp)

        response = self.client.get(
            f"{self.get_list_url()}?companies={onlinecorp.id}")

        self.assertEqual(response.status_code, status.HTTP_200_OK)

        events_list = response.json().get("results")
        event_titles_list = list(
            map(lambda event: event.get("id"), events_list))

        self.assertIn(bedpres_with_onlinecorp.id, event_titles_list)
        self.assertNotIn(bedpres_with_evilcorp.id, event_titles_list)
Esempio n. 4
0
    def test_user_cannot_register_for_a_non_attendance_event(self, _):
        event_without_attendance = generate_event(organizer=self.committee,
                                                  attendance=False)

        response = self.client.post(
            self.get_register_url(event_without_attendance.id),
            self.recaptcha_arg,
            **self.headers,
        )

        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
Esempio n. 5
0
    def test_user_cannot_pay_for_event_if_they_are_not_attending(self):
        event = generate_event(organizer=self.committee)
        payment = generate_event_payment(event)

        response = self.client.post(
            self.url, {
                'payment': payment.id,
                'payment_price': payment.price().id,
                'payment_method_id': self.payment_method.id,
            }, **self.headers)

        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
        self.assertEqual(
            response.json(),
            ['Du har ikke tilgang til å betale for denne betalingen'])
Esempio n. 6
0
    def setUp(self):
        self.committee = G(Group, name="Bedkom")
        self.user = generate_user(username="******")
        self.privacy = G(Privacy, user=self.user)
        self.token = self.generate_access_token(self.user)
        self.headers = {**self.headers, **self.generate_headers()}

        self.event = generate_event(organizer=self.committee)
        self.event.attendance_event.registration_start = timezone.now()
        self.event.attendance_event.registration_end = timezone.now(
        ) + timezone.timedelta(days=2)
        self.event.attendance_event.max_capacity = 20
        self.event.attendance_event.save()
        self.attendee1 = generate_attendee(self.event, "test1", "1231")
        self.attendee2 = generate_attendee(self.event, "test2", "4321")
        self.attendees = [self.attendee1, self.attendee2]
Esempio n. 7
0
    def test_user_cannot_pay_for_event_with_wrong_payment_price(self):
        payment_1 = self.payment
        event_2 = generate_event(organizer=self.committee)
        payment_2 = generate_event_payment(event_2)

        response = self.client.post(
            self.url, {
                'payment': payment_1.id,
                'payment_price': payment_2.price().id,
                'payment_method_id': self.payment_method.id,
            }, **self.headers)

        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
        self.assertEqual(
            response.json().get('non_field_errors'),
            ['Supplied payment price is not valid for the supplied payment'],
        )
Esempio n. 8
0
    def setUp(self):
        self.committee = G(Group, name='arrKom')
        self.user = generate_user(username='******')
        self.token = self.generate_access_token(self.user)
        self.headers = {
            **self.generate_headers(),
            **self.bare_headers,
        }

        self.url = reverse('payment_relations-list')
        self.id_url = lambda _id: self.url + str(_id) + '/'
        date_next_year = timezone.now() + timezone.timedelta(days=366)
        self.mock_card = {
            'number': '4242424242424242',
            'exp_month': 12,
            'exp_year': date_next_year.year,
            'cvc': '123'
        }
        self.mock_3d_secure_card = {
            'number': '4000000000003220',
            'exp_month': 12,
            'exp_year': date_next_year.year,
            'cvc': '123',
        }
        stripe.api_key = settings.STRIPE_PUBLIC_KEYS['arrkom']
        self.payment_method = stripe.PaymentMethod.create(type='card',
                                                          card=self.mock_card)
        self.secure_payment_method = stripe.PaymentMethod.create(
            type='card', card=self.mock_3d_secure_card)

        self.event = generate_event(organizer=self.committee)
        self.event.event_end = timezone.now() + timezone.timedelta(days=3)
        self.event.event_start = timezone.now() + timezone.timedelta(days=2)
        self.event.attendance_event.registration_end = timezone.now(
        ) + timezone.timedelta(days=1)
        self.event.attendance_event.unattend_deadline = timezone.now(
        ) + timezone.timedelta(days=1)
        self.event.save()
        self.event.attendance_event.save()

        self.payment = generate_event_payment(self.event)
        self.attendee = attend_user_to_event(self.event, self.user)
Esempio n. 9
0
    def setUp(self):
        self.committee = G(Group, name="Arrkom")
        self.user = generate_user(username="******")
        self.token = self.generate_access_token(self.user)
        self.headers = {**self.generate_headers(), **self.bare_headers}

        self.url = reverse("payment_relations-list")
        self.id_url = lambda _id: self.url + str(_id) + "/"
        date_next_year = timezone.now() + timezone.timedelta(days=366)
        self.mock_card = {
            "number": "4242424242424242",
            "exp_month": 12,
            "exp_year": date_next_year.year,
            "cvc": "123",
        }
        self.mock_3d_secure_card = {
            "number": "4000000000003220",
            "exp_month": 12,
            "exp_year": date_next_year.year,
            "cvc": "123",
        }
        stripe.api_key = settings.STRIPE_PUBLIC_KEYS["arrkom"]
        self.payment_method = stripe.PaymentMethod.create(type="card",
                                                          card=self.mock_card)
        self.secure_payment_method = stripe.PaymentMethod.create(
            type="card", card=self.mock_3d_secure_card)

        self.event = generate_event(organizer=self.committee)
        self.event.event_end = timezone.now() + timezone.timedelta(days=3)
        self.event.event_start = timezone.now() + timezone.timedelta(days=2)
        self.event.attendance_event.registration_end = (
            timezone.now() + timezone.timedelta(days=1))
        self.event.attendance_event.unattend_deadline = (
            timezone.now() + timezone.timedelta(days=1))
        self.event.save()
        self.event.attendance_event.save()

        self.payment = generate_event_payment(self.event)
        self.attendee = attend_user_to_event(self.event, self.user)
Esempio n. 10
0
    def setUp(self):
        self.committee = G(Group, name="Arrkom")
        self.user = generate_user(username="******")
        self.privacy = G(Privacy, user=self.user)
        self.token = self.generate_access_token(self.user)
        self.headers = {
            **self.generate_headers(),
            "Accepts": "application/json",
            "Content-Type": "application/json",
            "content_type": "application/json",
            "format": "json",
        }
        self.recaptcha_arg = {"recaptcha": "--mock-recaptcha--"}

        self.event = generate_event(organizer=self.committee)
        self.event.attendance_event.registration_start = timezone.now()
        self.event.attendance_event.registration_end = timezone.now(
        ) + timezone.timedelta(days=2)
        self.event.attendance_event.max_capacity = 20
        self.event.attendance_event.save()
        self.attendee1 = generate_attendee(self.event, "test1", "4321")
        self.attendee2 = generate_attendee(self.event, "test2", "1234")
        self.attendees = [self.attendee1, self.attendee2]