Skip to content

Commit

Permalink
Options
Browse files Browse the repository at this point in the history
  • Loading branch information
marcoacierno committed Jan 27, 2024
1 parent e78bb8b commit 28a63f9
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 47 deletions.
7 changes: 3 additions & 4 deletions backend/api/pretix/tests/test_get_conference_tickets.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@
from api.pretix.types import Option


pytestmark = pytest.mark.django_db


@override_settings(PRETIX_API="https://pretix/api/")
@pytest.mark.django_db
def test_get_conference_tickets_no_tickets(conference, requests_mock):
requests_mock.get(
"https://pretix/api/organizers/base-pretix-organizer-id/events/base-pretix-event-id/items",
Expand All @@ -32,7 +34,6 @@ def test_get_conference_tickets_no_tickets(conference, requests_mock):


@override_settings(PRETIX_API="https://pretix/api/")
@pytest.mark.django_db
def test_get_conference_tickets(
conference,
requests_mock,
Expand Down Expand Up @@ -96,7 +97,6 @@ def test_get_conference_tickets(


@override_settings(PRETIX_API="https://pretix/api/")
@pytest.mark.django_db
def test_get_conference_tickets_hides_when_available_from_is_future(
conference,
requests_mock,
Expand Down Expand Up @@ -132,7 +132,6 @@ def test_get_conference_tickets_hides_when_available_from_is_future(


@override_settings(PRETIX_API="https://pretix/api/")
@pytest.mark.django_db
def test_get_conference_tickets_hides_when_available_until_is_past(
conference,
requests_mock,
Expand Down
5 changes: 3 additions & 2 deletions backend/api/submissions/tests/test_send_submission.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from conferences.tests.factories import ConferenceFactory, TopicFactory
import pytest
from pytest import mark

Expand Down Expand Up @@ -604,15 +605,15 @@ def test_submit_talk_with_not_valid_conf_topic(
):
graphql_client.force_login(user)

conference = conference_factory(
conference = ConferenceFactory(
topics=("my-topic",),
languages=("it",),
submission_types=("talk",),
active_cfp=True,
durations=("50",),
audience_levels=("Beginner",),
)
topic = topic_factory(name="random topic")
topic = TopicFactory(name="random topic")

resp, _ = _submit_talk(graphql_client, conference, topic=topic.id)

Expand Down
70 changes: 30 additions & 40 deletions backend/api/submissions/tests/test_submission_permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,14 +97,12 @@ def test_voting_open_and_user_can_vote(
assert data["submission"]["type"]["name"] == submission.type.name
assert data["submission"]["duration"]["name"] == submission.duration.name
assert data["submission"]["audienceLevel"]["name"] == submission.audience_level.name
assert data["submission"]["languages"] == [
{"code": "it"},
{"code": "en"},
]
assert data["submission"]["tags"] == [
{"name": "python"},
{"name": "GraphQL"},
]
assert len(data["submission"]["languages"]) == 2
assert {"code": "it"} in data["submission"]["languages"]
assert {"code": "en"} in data["submission"]["languages"]
assert len(data["submission"]["tags"]) == 2
assert {"name": "python"} in data["submission"]["tags"]
assert {"name": "GraphQL"} in data["submission"]["tags"]

# ❌ private
assert data["submission"]["speakerLevel"] is None
Expand Down Expand Up @@ -157,14 +155,12 @@ def test_accepted_submission_user_can_see_public_and_restricted_fields(
assert data["submission"]["type"]["name"] == submission.type.name
assert data["submission"]["duration"]["name"] == submission.duration.name
assert data["submission"]["audienceLevel"]["name"] == submission.audience_level.name
assert data["submission"]["languages"] == [
{"code": "it"},
{"code": "en"},
]
assert data["submission"]["tags"] == [
{"name": "python"},
{"name": "GraphQL"},
]
assert len(data["submission"]["languages"]) == 2
assert {"code": "it"} in data["submission"]["languages"]
assert {"code": "en"} in data["submission"]["languages"]
assert len(data["submission"]["tags"]) == 2
assert {"name": "python"} in data["submission"]["tags"]
assert {"name": "GraphQL"} in data["submission"]["tags"]

# ❌ private
assert data["submission"]["speakerLevel"] is None
Expand All @@ -191,14 +187,12 @@ def test_admin_user_can_see_everything(
assert data["submission"]["type"]["name"] == submission.type.name
assert data["submission"]["duration"]["name"] == submission.duration.name
assert data["submission"]["audienceLevel"]["name"] == submission.audience_level.name
assert data["submission"]["languages"] == [
{"code": "it"},
{"code": "en"},
]
assert data["submission"]["tags"] == [
{"name": "python"},
{"name": "GraphQL"},
]
assert len(data["submission"]["languages"]) == 2
assert {"code": "it"} in data["submission"]["languages"]
assert {"code": "en"} in data["submission"]["languages"]
assert len(data["submission"]["tags"]) == 2
assert {"name": "python"} in data["submission"]["tags"]
assert {"name": "GraphQL"} in data["submission"]["tags"]

# ✔️ private
assert data["submission"]["speakerLevel"] == submission.speaker_level
Expand All @@ -223,14 +217,12 @@ def test_submission_author_can_see_everything(graphql_client, submission_factory
assert data["submission"]["type"]["name"] == submission.type.name
assert data["submission"]["duration"]["name"] == submission.duration.name
assert data["submission"]["audienceLevel"]["name"] == submission.audience_level.name
assert data["submission"]["languages"] == [
{"code": "it"},
{"code": "en"},
]
assert data["submission"]["tags"] == [
{"name": "python"},
{"name": "GraphQL"},
]
assert len(data["submission"]["languages"]) == 2
assert {"code": "it"} in data["submission"]["languages"]
assert {"code": "en"} in data["submission"]["languages"]
assert len(data["submission"]["tags"]) == 2
assert {"name": "python"} in data["submission"]["tags"]
assert {"name": "GraphQL"} in data["submission"]["tags"]

# ✔️ private
assert data["submission"]["speakerLevel"] == submission.speaker_level
Expand Down Expand Up @@ -263,14 +255,12 @@ def test_ranked_submission_user_can_see_public_and_restricted_fields(
assert data["submission"]["type"]["name"] == submission.type.name
assert data["submission"]["duration"]["name"] == submission.duration.name
assert data["submission"]["audienceLevel"]["name"] == submission.audience_level.name
assert data["submission"]["languages"] == [
{"code": "it"},
{"code": "en"},
]
assert data["submission"]["tags"] == [
{"name": "python"},
{"name": "GraphQL"},
]
assert len(data["submission"]["languages"]) == 2
assert {"code": "it"} in data["submission"]["languages"]
assert {"code": "en"} in data["submission"]["languages"]
assert len(data["submission"]["tags"]) == 2
assert {"name": "python"} in data["submission"]["tags"]
assert {"name": "GraphQL"} in data["submission"]["tags"]

# ❌ private
assert data["submission"]["speakerLevel"] is None
Expand Down
16 changes: 16 additions & 0 deletions backend/api/tests/fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

import pytest
from django.test import Client as DjangoTestClient
from wagtail.models import Locale
from wagtail.coreutils import get_supported_content_language_variant
from django.conf import settings


def query_wrapper(original):
Expand Down Expand Up @@ -82,3 +85,16 @@ def admin_graphql_client(graphql_client):
admin_user = UserFactory(is_staff=True, is_superuser=True)
graphql_client.force_login(admin_user)
return graphql_client


@pytest.fixture(autouse=True)
def create_languages(db):
from languages.models import Language
from languages.languages import LANGUAGES

for language in LANGUAGES:
Language.objects.create(name=language["English"], code=language["alpha2"])

Locale.objects.create(
language_code=get_supported_content_language_variant(settings.LANGUAGE_CODE),
)
2 changes: 1 addition & 1 deletion backend/pytest.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[pytest]
DJANGO_SETTINGS_MODULE=pycon.settings.test
norecursedirs = .git htmlcov tmp* .* build dist CVS _darcs {arch} *.egg
addopts = --failed-first
addopts = --failed-first --nomigrations --reuse-db
python_files = test_*.py

0 comments on commit 28a63f9

Please sign in to comment.