This commit is contained in:
Asish Kumar 2026-08-11 02:12:46 -07:00 committed by GitHub
commit 3e17d1d533
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 83 additions and 30 deletions

View file

@ -49,4 +49,25 @@ describe ConferencesController do
end
end
describe 'GET #calendar' do
it 'returns iCalendar data for all conferences' do
get :calendar, params: { format: :ics }
expect(response).to be_successful
expect(response.content_type).to start_with('text/calendar')
expect(response.body).to start_with('BEGIN:VCALENDAR')
end
it 'returns iCalendar data with full schedule when full=true' do
conference.program.update!(schedule_public: true)
create(:event_scheduled, program: conference.program)
get :calendar, params: { full: true, format: :ics }
expect(response).to be_successful
expect(response.content_type).to start_with('text/calendar')
expect(response.body).to start_with('BEGIN:VCALENDAR')
end
end
end

View file

@ -6,13 +6,13 @@ describe SchedulesController do
let(:conference) { create(:conference, splashpage: create(:splashpage, public: true), venue: create(:venue)) }
describe 'GET #show' do
before :each do
conference.program.update!(schedule_public: true)
create_pair(:event_scheduled, program: conference.program)
end
context 'XML' do
before :each do
conference.program.schedule_public = true
conference.program.save!
create(:event_scheduled, program: conference.program)
create(:event_scheduled, program: conference.program)
get :show, params: { conference_id: conference.short_title, format: :xml }
end
@ -26,5 +26,20 @@ describe SchedulesController do
expect(response).to be_successful
end
end
context 'iCalendar' do
before :each do
get :show, params: { conference_id: conference.short_title, format: :ics }
end
it 'has 200 status code' do
expect(response).to be_successful
end
it 'returns iCalendar data' do
expect(response.content_type).to start_with('text/calendar')
expect(response.body).to start_with('BEGIN:VCALENDAR')
end
end
end
end