def test_transitions(): event = Event(state='initiated') assert event.state == 'initiated' with pytest.raises(AssertionError): event.publish() with pytest.raises(AssertionError): event.withdraw() event.submit() assert event.state == 'submitted' with pytest.raises(AssertionError): event.submit() with pytest.raises(AssertionError): event.withdraw() event.publish() assert event.state == 'published' with pytest.raises(AssertionError): event.submit() with pytest.raises(AssertionError): event.publish() event.withdraw() assert event.state == 'withdrawn' with pytest.raises(AssertionError): event.submit() with pytest.raises(AssertionError): event.withdraw() event.publish() assert event.state == 'published'
def test_delete_event(session): timezone = 'Europe/Zurich' event = Event( state='initiated', title='event', start=tzdatetime(2008, 2, 7, 10, 15, timezone), end=tzdatetime(2008, 2, 7, 16, 00, timezone), timezone=timezone ) session.add(event) session.delete(session.query(Event).one()) transaction.commit() session.expire_all() assert session.query(Event).count() == 0 assert session.query(Occurrence).count() == 0 event = Event( state='initiated', title='event', start=tzdatetime(2008, 2, 7, 10, 15, timezone), end=tzdatetime(2008, 2, 7, 16, 00, timezone), timezone=timezone ) session.add(event) event.submit() session.delete(session.query(Event).one()) transaction.commit() session.expire_all() assert session.query(Event).count() == 0 assert session.query(Occurrence).count() == 0 event = Event( state='initiated', title='event', start=tzdatetime(2008, 2, 7, 10, 15, timezone), end=tzdatetime(2008, 2, 7, 16, 00, timezone), timezone=timezone ) session.add(event) event.submit() event.publish() session.delete(session.query(Event).one()) transaction.commit() session.expire_all() assert session.query(Event).count() == 0 assert session.query(Occurrence).count() == 0 event = Event( state='initiated', title='event', start=tzdatetime(2008, 2, 7, 10, 15, timezone), end=tzdatetime(2008, 2, 7, 16, 00, timezone), timezone=timezone ) session.add(event) event.submit() event.publish() event.withdraw() session.delete(session.query(Event).one()) transaction.commit() session.expire_all() assert session.query(Event).count() == 0 assert session.query(Occurrence).count() == 0