def test_next(self): # Returns None, when there are no events in the DB self.assertIsNone(Event.next()) # Returns next event, if there are upcoming events Event.create(name='next', take_place_at=datetime.utcnow() + timedelta(days=1)) Event.create(name='last', take_place_at=datetime.utcnow() + timedelta(days=10)) next_event = Event.next() self.assertEqual(next_event.name, 'next')
def test_all(self): # Returns no events, if DB is blank self.assertEqual([], list(event.name for event in Event.all())) # Returns all events from DB Event.create(name='archived', take_place_at=datetime.utcnow() - timedelta(days=1)) Event.create(name='upcoming', take_place_at=datetime.utcnow() + timedelta(days=10)) self.assertEqual(['archived', 'upcoming'], list(event.name for event in Event.all()))
def test_upcoming(self): # Returns no events, if DB is blank self.assertEqual([], list(event.name for event in Event.upcoming())) # Returns no events, if there are only archived events Event.create(name='archived', take_place_at=datetime.utcnow() - timedelta(days=1)) self.assertEqual([], list(event.name for event in Event.upcoming())) # Returns upcoming events Event.create(name='upcoming', take_place_at=datetime.utcnow() + timedelta(days=10)) self.assertEqual(['upcoming'], list(event.name for event in Event.upcoming()))
def create_event(): """Create new Calendar Event.""" json_data = request.get_json() data, error = EventSchema().load(json_data) if error: return make_response(jsonify({"error": error}), 400) oEvent = Event.create(data) return make_response(jsonify(oEvent.as_dict()))
def create_event(self, event: Event) -> int: ''' Create a event with a dict given in argument ''' event['projection_room'] = ProjectionRoom.get( ProjectionRoom.location == event['projection_room']).id event['begin'] = datetime.strptime(event['begin'], "%Y-%m-%d %H:%M") event['manager'] = self.current_user.id event_created = Event.create(**event) return event_created.id
def test_render_archived(self): # Returns empty string, when there are no archived events responder = List([], []) self.assertEqual(responder.render_archived(), '') # Returns header and events, when there are archived events archived = [ Event.create(name='Test event', take_place_at=datetime(2020, 1, 1)) ] responder = List([], archived) self.assertEqual(responder.render_archived(), 'Archived events:\n01-01-2020 - "Test event"')
def test_render_upcoming(self): # Returns no events string, when there are no upcoming events responder = List([], []) self.assertEqual(responder.render_upcoming(), 'No upcoming events') # Returns header and events, when there are upcoming events next_year = datetime.today().year + 1 upcoming = [ Event.create(name='Test event', take_place_at=datetime(next_year, 1, 1)) ] responder = List(upcoming, []) self.assertEqual( responder.render_upcoming(), f'Upcoming events:\n01-01-{next_year} - "Test event"')