osem-fcy/spec/serializers/speaker_serializer_spec.rb
Andrew Kvalheim e01fd2d721 Add URLs to API responses
Resolves inability of API consumers to provide links to OSEM.
2023-03-04 10:15:56 -08:00

35 lines
1 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
describe SpeakerSerializer, type: :serializer do
let(:speaker) { create(:user, name: 'John Doe', affiliation: 'JohnDoesInc', biography: nil) }
let(:serializer) { SpeakerSerializer.new(speaker) }
context 'speaker does not have biography' do
it 'sets name and affiliation' do
expected_json = {
url: "http://localhost:3000/users/#{speaker.id}",
name: 'John Doe',
affiliation: 'JohnDoesInc',
biography: nil
}.to_json
expect(serializer.to_json).to eq expected_json
end
end
context 'speaker has biography' do
before{ speaker.update_attribute(:biography, 'Doest of all Jon Does') }
it 'sets name, affiliation and biography' do
expected_json = {
url: "http://localhost:3000/users/#{speaker.id}",
name: 'John Doe',
affiliation: 'JohnDoesInc',
biography: 'Doest of all Jon Does'
}.to_json
expect(serializer.to_json).to eq expected_json
end
end
end