Exemplo n.º 1
0
    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')
Exemplo n.º 2
0
    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()))
Exemplo n.º 3
0
    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()))
Exemplo n.º 4
0
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()))
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
    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"')
Exemplo n.º 7
0
    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"')