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)
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]
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)
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)
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'])
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]
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'], )
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)
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)
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]