2018-05-07 16:47:29 -07:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2016-07-29 22:02:01 +02:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
|
|
describe SchedulesController do
|
|
|
|
|
let(:conference) { create(:conference, splashpage: create(:splashpage, public: true), venue: create(:venue)) }
|
|
|
|
|
|
|
|
|
|
describe 'GET #show' do
|
2026-05-14 11:02:49 +05:30
|
|
|
before :each do
|
|
|
|
|
conference.program.update!(schedule_public: true)
|
|
|
|
|
create_pair(:event_scheduled, program: conference.program)
|
|
|
|
|
end
|
|
|
|
|
|
2016-07-29 22:02:01 +02:00
|
|
|
context 'XML' do
|
|
|
|
|
before :each do
|
2019-05-13 17:42:09 +02:00
|
|
|
get :show, params: { conference_id: conference.short_title, format: :xml }
|
2016-07-29 22:02:01 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'assigns variables' do
|
|
|
|
|
expect(assigns(:conference)).to eq conference
|
2016-08-01 21:25:12 +02:00
|
|
|
expect(assigns(:events_xml)).to eq conference.program.selected_event_schedules.map(&:event)
|
|
|
|
|
.group_by{ |event| event.time.to_date }
|
2016-07-29 22:02:01 +02:00
|
|
|
end
|
|
|
|
|
|
2016-08-10 11:17:23 +02:00
|
|
|
it 'has 200 status code' do
|
2022-01-23 14:06:02 -08:00
|
|
|
expect(response).to be_successful
|
2016-07-29 22:02:01 +02:00
|
|
|
end
|
|
|
|
|
end
|
2026-05-14 11:02:49 +05:30
|
|
|
|
|
|
|
|
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
|
2016-07-29 22:02:01 +02:00
|
|
|
end
|
|
|
|
|
end
|