[feat]Add url, background color, text color to events in vertical schedule

This commit is contained in:
Jimmy 2021-04-30 15:14:46 +08:00 committed by CactusPuppy
parent 468e170a2e
commit 83aeb5c330
No known key found for this signature in database
GPG key ID: 4B33B0A3E15E2C82
3 changed files with 52 additions and 19 deletions

View file

@ -6,8 +6,21 @@ describe FullCalendarFormatter do
let!(:room1) { create(:room) }
let!(:room2) { create(:room) }
let!(:rooms) { [room1, room2] }
let!(:event_schedule1) { create(:event_schedule, room: room1) }
let!(:event_schedule2) { create(:event_schedule, room: room2) }
let!(:conference) { create(:full_conference) }
let!(:program) { conference.program }
let!(:selected_schedule) { create(:schedule, program: program) }
let!(:event_type1) { create(:event_type, color: '#ffffff') }
let!(:event1) do
program.update_attributes!(selected_schedule: selected_schedule)
create(:event, program: program, event_type: event_type1)
end
let!(:event_schedule1) { create(:event_schedule, event: event1, schedule: selected_schedule, room: room1) }
let!(:event_type2) { create(:event_type, color: '#000000') }
let!(:event2) do
program.update_attributes!(selected_schedule: selected_schedule)
create(:event, program: program, room: room2, event_type: event_type2)
end
let!(:event_schedule2) { create(:event_schedule, event: event2, schedule: selected_schedule, room: room2) }
let!(:event_schedules) { [event_schedule1, event_schedule2] }
describe 'JSON formatting for FullCalendar' do
@ -30,18 +43,24 @@ describe FullCalendarFormatter do
resources = described_class.event_schedules_to_resources(event_schedules)
expected_json = [
{
id: event_schedule1.event.guid,
title: event_schedule1.event.title,
start: event_schedule1.start_time,
end: event_schedule1.end_time,
resourceId: room1.guid
id: event_schedule1.event.guid,
title: event_schedule1.event.title,
start: event_schedule1.start_time,
end: event_schedule1.end_time,
resourceId: room1.guid,
url: conference_program_proposal_path(conference.short_title, event1.id),
backgroundColor: event1.event_type.color,
textColor: 'black'
},
{
id: event_schedule2.event.guid,
title: event_schedule2.event.title,
start: event_schedule2.start_time,
end: event_schedule2.end_time,
resourceId: room2.guid
id: event_schedule2.event.guid,
title: event_schedule2.event.title,
start: event_schedule2.start_time,
end: event_schedule2.end_time,
resourceId: room2.guid,
url: conference_program_proposal_path(conference.short_title, event2.id),
backgroundColor: event2.event_type.color,
textColor: 'white'
}
].to_json
expect(resources).to eq(expected_json)

View file

@ -123,6 +123,9 @@ RSpec.configure do |config|
# enable debugging with --only-failures
config.example_status_persistence_file_path = 'tmp/spec_failures.txt'
# include path helpers
config.include Rails.application.routes.url_helpers
end
OmniAuth.config.test_mode = true