def METHOD_NAME(create_event, create_contribution, create_entry, dummy_room,
                                                     start_time, end_time, expected_params):
    start_dt = pytz.utc.localize(datetime.combine(date(2019, 8, 16), start_time))
    end_dt = pytz.utc.localize(datetime.combine(date(2019, 8, 18), end_time))
    event = create_event(start_dt=start_dt, end_dt=end_dt, room=dummy_room)
    c1 = create_contribution(event, 'C1', timedelta(minutes=30))
    c2 = create_contribution(event, 'C2', timedelta(minutes=120))
    c3 = create_contribution(event, 'C3', timedelta(minutes=30))
    create_entry(c1, pytz.utc.localize(datetime(2019, 8, 17, 9, 0)))
    create_entry(c2, pytz.utc.localize(datetime(2019, 8, 17, 18, 0)))
    create_entry(c3, pytz.utc.localize(datetime(2019, 8, 17, 19, 0)))
    params = get_booking_params_for_event(event)
    assert params == {
        'type': 'mixed_times',
        'params': {
            'link_type': 'event',
            'link_id': event.id,
            'text': f'#{dummy_room.id}',
        },
        'time_info': [
            (date(2019, 8, 16), {'sd': '2019-08-16', **expected_params}),
            # this day has timetable entries -> not using the event defaults
            (date(2019, 8, 17), {'interval': 'week', 'number': 1, 'recurrence': 'single',
                                 'sd': '2019-08-17', 'st': '09:00', 'et': '20:00'}),
            (date(2019, 8, 18), {'sd': '2019-08-18', **expected_params})
        ]
    }