Add Eventserializer tests and fix undefined method `l' for Eventserializer
Solution of no method error pointed by @nishanthvijayan: http://stackoverflow.com/a/11724935
This commit is contained in:
parent
a786321800
commit
0aa36b470e
2 changed files with 59 additions and 1 deletions
|
|
@ -5,7 +5,7 @@ class EventSerializer < ActiveModel::Serializer
|
|||
|
||||
def date
|
||||
t = object.start_time
|
||||
t.blank? ? '' : %{ #{l t, format: :short}#{t.formatted_offset(false)} }
|
||||
t.blank? ? '' : %{ #{I18n.l t, format: :short}#{t.formatted_offset(false)} }
|
||||
end
|
||||
|
||||
def speaker_ids
|
||||
|
|
|
|||
58
spec/serializers/event_serializer_spec.rb
Normal file
58
spec/serializers/event_serializer_spec.rb
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
require 'spec_helper'
|
||||
describe EventSerializer, type: :serializer do
|
||||
let(:event) { create(:event, title: 'Some Talk', abstract: 'Lorem ipsum dolor sit amet') }
|
||||
let(:serializer) { EventSerializer.new(event) }
|
||||
|
||||
context 'event does not have date, speakers, room and tracks assigned' do
|
||||
it 'sets guid, title, length, abstract and type' do
|
||||
expected_json = {
|
||||
event: {
|
||||
guid: event.guid,
|
||||
title: 'Some Talk',
|
||||
length: 30,
|
||||
date: '',
|
||||
language: nil,
|
||||
abstract: '<p>Lorem ipsum dolor sit amet</p>',
|
||||
speaker_ids: [],
|
||||
type: 'Example Event Type',
|
||||
room: nil,
|
||||
track: nil
|
||||
}
|
||||
}.to_json
|
||||
|
||||
expect(serializer.to_json).to eq expected_json
|
||||
end
|
||||
end
|
||||
|
||||
context 'event has date, speakers, room and tracks assigned' do
|
||||
let(:speaker) { create(:speaker) }
|
||||
let(:room) { create(:room) }
|
||||
let(:track) { create(:track) }
|
||||
|
||||
before do
|
||||
event.update_attributes(start_time: Date.new(2014, 03, 04), language: 'English')
|
||||
event.event_users << speaker
|
||||
event.room = room
|
||||
event.track = track
|
||||
end
|
||||
|
||||
it 'sets guid, title, length, abstract, type, date, language, speakers, room and track' do
|
||||
expected_json = {
|
||||
event: {
|
||||
guid: event.guid,
|
||||
title: 'Some Talk',
|
||||
length: 30,
|
||||
date: ' 2014-03-04T00:00:00+0000 ',
|
||||
language: 'English',
|
||||
abstract: '<p>Lorem ipsum dolor sit amet</p>',
|
||||
speaker_ids: [speaker.user.id],
|
||||
type: 'Example Event Type',
|
||||
room: room.guid,
|
||||
track: track.guid
|
||||
}
|
||||
}.to_json
|
||||
|
||||
expect(serializer.to_json).to eq expected_json
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue