[feat] Happening now JSON endpoint contains rendered abstract of event; Add corresponding tests
This commit is contained in:
parent
7b3d97fdbb
commit
c3167a3503
3 changed files with 21 additions and 1 deletions
|
|
@ -33,6 +33,8 @@
|
||||||
class Event < ApplicationRecord
|
class Event < ApplicationRecord
|
||||||
include ActiveRecord::Transitions
|
include ActiveRecord::Transitions
|
||||||
include RevisionCount
|
include RevisionCount
|
||||||
|
include FormatHelper
|
||||||
|
|
||||||
has_paper_trail on: [:create, :update], ignore: [:updated_at, :guid, :week], meta: { conference_id: :conference_id }
|
has_paper_trail on: [:create, :update], ignore: [:updated_at, :guid, :week], meta: { conference_id: :conference_id }
|
||||||
|
|
||||||
acts_as_commentable
|
acts_as_commentable
|
||||||
|
|
@ -337,6 +339,10 @@ class Event < ApplicationRecord
|
||||||
time <=> other.time
|
time <=> other.time
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def serializable_hash(options = {})
|
||||||
|
super(options).merge('rendered_abstract' => markdown(abstract))
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ describe SchedulesController do
|
||||||
let!(:selected_schedule) { create(:schedule, program: program) }
|
let!(:selected_schedule) { create(:schedule, program: program) }
|
||||||
let!(:scheduled_event1) do
|
let!(:scheduled_event1) do
|
||||||
program.update_attributes!(selected_schedule: selected_schedule)
|
program.update_attributes!(selected_schedule: selected_schedule)
|
||||||
create(:event, program: program, state: 'confirmed')
|
create(:event, program: program, state: 'confirmed', abstract: '`markdown`')
|
||||||
end
|
end
|
||||||
let!(:event_schedule1) { create(:event_schedule, event: scheduled_event1, schedule: selected_schedule, start_time: Time.now.in_time_zone(conference2.timezone).strftime('%a, %d %b %Y %H:%M:%S')) }
|
let!(:event_schedule1) { create(:event_schedule, event: scheduled_event1, schedule: selected_schedule, start_time: Time.now.in_time_zone(conference2.timezone).strftime('%a, %d %b %Y %H:%M:%S')) }
|
||||||
let!(:scheduled_event2) do
|
let!(:scheduled_event2) do
|
||||||
|
|
@ -66,6 +66,10 @@ describe SchedulesController do
|
||||||
expect(response.body).to include(event_schedule1.to_json(include: :event))
|
expect(response.body).to include(event_schedule1.to_json(include: :event))
|
||||||
expect(response.body).not_to include(event_schedule2.to_json(include: :event))
|
expect(response.body).not_to include(event_schedule2.to_json(include: :event))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'contains the rendered markdown in HTML of events that are happening now' do
|
||||||
|
expect(response.body).to include('code')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -448,4 +448,14 @@ describe Event do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#serializable_hash' do
|
||||||
|
let(:event2) { create(:event, program: conference.program, abstract: '`markdown`') }
|
||||||
|
|
||||||
|
context 'serializes event correctly' do
|
||||||
|
it 'contains rendered markdown in HTML' do
|
||||||
|
expect(event2.serializable_hash['rendered_abstract']).to include('<code>markdown</code>')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue