You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
describe AsciicastSerializer do
|
|
|
|
|
|
|
|
let(:serializer) { AsciicastSerializer.new(asciicast, playback_options: PlaybackOptions.new) }
|
|
|
|
let(:asciicast) { create(:asciicast) }
|
|
|
|
|
|
|
|
describe '#to_json' do
|
|
|
|
subject { JSON.parse(serializer.to_json) }
|
|
|
|
|
|
|
|
it 'includes id' do
|
|
|
|
expect(subject['id']).to eq(asciicast.to_param)
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'includes url' do
|
|
|
|
expect(subject['url']).to eq("/a/#{asciicast.id}.json")
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'includes snapshot' do
|
|
|
|
expect(subject['snapshot']).to eq(asciicast.snapshot)
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'includes width' do
|
|
|
|
expect(subject['width']).to eq(asciicast.terminal_columns)
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'includes height' do
|
|
|
|
expect(subject['height']).to eq(asciicast.terminal_lines)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|