chrono/tests/test_agendas.py

42 lines
1.1 KiB
Python

import pytest
from django.utils.timezone import now
from chrono.agendas.models import Agenda, Event, Booking
pytestmark = pytest.mark.django_db
def test_slug():
agenda = Agenda(label=u'Foo bar')
agenda.save()
assert agenda.slug == 'foo-bar'
def test_existing_slug():
agenda = Agenda(label=u'Foo bar', slug='bar')
agenda.save()
assert agenda.slug == 'bar'
def test_duplicate_slugs():
agenda = Agenda(label=u'Foo baz')
agenda.save()
assert agenda.slug == 'foo-baz'
agenda = Agenda(label=u'Foo baz')
agenda.save()
assert agenda.slug == 'foo-baz-1'
agenda = Agenda(label=u'Foo baz')
agenda.save()
assert agenda.slug == 'foo-baz-2'
def test_event_manager():
agenda = Agenda(label=u'Foo baz')
agenda.save()
event = Event(start_datetime=now(), places=10, agenda=agenda)
event.save()
booking = Booking(event=event)
booking.save()
assert Event.objects.all()[0].booked_places == 1
booking.cancellation_datetime = now()
booking.save()
assert Event.objects.all()[0].booked_places == 0