Added an organizer overview page

This commit is contained in:
Raphael Michel
2015-10-22 17:45:19 +02:00
parent 0b4cae07c4
commit 232c42b265
23 changed files with 400 additions and 92 deletions

View File

@@ -47,6 +47,14 @@ def test_event_with_custom_domain_on_main_domain(env, client):
assert r['Location'] == 'http://foobar/2015/'
@pytest.mark.django_db
def test_organizer_with_custom_domain_on_main_domain(env, client):
KnownDomain.objects.create(domainname='foobar', organizer=env[0])
r = client.get('/mrmcd/', HTTP_HOST='example.com')
assert r.status_code == 302
assert r['Location'] == 'http://foobar'
@pytest.mark.django_db
def test_event_on_custom_domain_only_with_wrong_organizer(env, client):
organizer2 = Organizer.objects.create(name='Dummy', slug='dummy')

View File

@@ -22,6 +22,7 @@ def env():
@pytest.mark.django_db
def test_event_main_domain_front_page(env):
assert eventreverse(env[1], 'presale:event.index') == '/mrmcd/2015/'
assert eventreverse(env[0], 'presale:organizer.index') == '/mrmcd/'
@pytest.mark.django_db
@@ -39,6 +40,7 @@ def test_event_main_domain_kwargs(env):
def test_event_custom_domain_front_page(env):
KnownDomain.objects.create(domainname='foobar', organizer=env[0])
assert eventreverse(env[1], 'presale:event.index') == 'http://foobar/2015/'
assert eventreverse(env[0], 'presale:organizer.index') == 'http://foobar/'
@pytest.mark.django_db

View File

@@ -0,0 +1,96 @@
from datetime import timedelta
import pytest
from django.utils.timezone import now
from pretix.base.models import Event, Organizer
@pytest.fixture
def env():
o = Organizer.objects.create(name='MRMCD e.V.', slug='mrmcd')
event = Event.objects.create(
organizer=o, name='MRMCD2015', slug='2015',
date_from=now() + timedelta(days=10)
)
return o, event
@pytest.mark.django_db
def test_organizer_page_shown(env, client):
r = client.get('/mrmcd/')
assert r.status_code == 200
assert 'MRMCD e.V.' in r.rendered_content
@pytest.mark.django_db
def test_public_event_on_page(env, client):
env[1].is_public = True
env[1].save()
r = client.get('/mrmcd/')
assert 'MRMCD2015' in r.rendered_content
@pytest.mark.django_db
def test_non_public_event_not_on_page(env, client):
env[1].is_public = False
env[1].save()
r = client.get('/mrmcd/')
assert 'MRMCD2015' not in r.rendered_content
@pytest.mark.django_db
def test_running_event_on_current_page(env, client):
env[1].date_from = now() - timedelta(days=2)
env[1].date_to = now() + timedelta(days=2)
env[1].is_public = True
env[1].save()
r = client.get('/mrmcd/')
assert 'MRMCD2015' in r.rendered_content
@pytest.mark.django_db
def test_past_event_shown_on_archive_page(env, client):
env[1].date_from = now() - timedelta(days=2)
env[1].date_to = now() - timedelta(days=2)
env[1].is_public = True
env[1].save()
r = client.get('/mrmcd/?old=1')
assert 'MRMCD2015' in r.rendered_content
@pytest.mark.django_db
def test_event_not_shown_on_archive_page(env, client):
env[1].is_public = True
env[1].save()
r = client.get('/mrmcd/?old=1')
assert 'MRMCD2015' not in r.rendered_content
@pytest.mark.django_db
def test_past_event_not_shown(env, client):
env[1].date_from = now() - timedelta(days=2)
env[1].date_to = now() - timedelta(days=2)
env[1].is_public = True
env[1].save()
r = client.get('/mrmcd/')
assert 'MRMCD2015' not in r.rendered_content
@pytest.mark.django_db
def test_empty_message(env, client):
env[1].is_public = False
env[1].save()
r = client.get('/mrmcd/')
assert 'No public upcoming events found' in r.rendered_content
@pytest.mark.django_db
def test_different_organizer_not_shown(env, client):
o = Organizer.objects.create(name='CCC e.V.', slug='ccc')
Event.objects.create(
organizer=o, name='32C3', slug='32c3',
date_from=now() + timedelta(days=10), is_public=True
)
r = client.get('/mrmcd/')
assert '32C3' not in r.rendered_content