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.
asciinema.org/spec/workers/snapshot_worker_spec.rb

36 lines
1.1 KiB
Ruby

require 'spec_helper'
describe SnapshotWorker do
let(:worker) { SnapshotWorker.new }
describe '#perform' do
let(:snapshot_creator) { double('snapshot_creator', :create => snapshot) }
let(:snapshot) { double('snapshot') }
let(:asciicast) { double('asciicast', :terminal_columns => 10,
:terminal_lines => 5,
:duration => 4.3,
:stdout => stdout,
:update_snapshot => nil) }
let(:stdout) { double('stdout') }
before do
allow(Asciicast).to receive(:find).with(123) { asciicast }
allow(SnapshotCreator).to receive(:new).with(no_args()) { snapshot_creator }
end
it 'uses AsciicastSnapshotCreator to generate a snapshot' do
worker.perform(123)
expect(snapshot_creator).to have_received(:create).with(10, 5, stdout, 4.3)
end
it 'updates the snapshot on the asciicast' do
worker.perform(123)
expect(asciicast).to have_received(:update_snapshot).with(snapshot)
end
end
end