Move #to_s spec from shared actions to Action

This commit is contained in:
Thibault Jouan 2014-10-09 19:10:51 +00:00
parent b6fb9bd811
commit ef7259fab2
2 changed files with 21 additions and 19 deletions

View File

@ -3,7 +3,9 @@ require 'spec_helper'
module Producer::Core module Producer::Core
describe Action do describe Action do
let(:env) { double 'env'} let(:env) { double 'env'}
subject(:action) { described_class.new(env) } let(:arguments) { [:some, :arguments] }
let(:options) { { foo: :bar } }
subject(:action) { described_class.new(env, *arguments, options) }
it_behaves_like 'action' it_behaves_like 'action'
@ -22,5 +24,23 @@ module Producer::Core
expect(action.name).to eq 'action' expect(action.name).to eq 'action'
end end
end end
describe '#to_s' do
it 'includes action name' do
expect(action.to_s).to match /\A#{action.name}/
end
it 'includes arguments inspection' do
expect(action.to_s).to match /#{Regexp.quote(arguments.inspect)}\z/
end
context 'when arguments inspection is very long' do
let(:arguments) { [:some, :arguments] * 32 }
it 'summarizes arguments inspection' do
expect(action.to_s.length).to be < 70
end
end
end
end end
end end

View File

@ -41,23 +41,5 @@ module Producer::Core
expect(action.name).to match /\A\w+\z/ expect(action.name).to match /\A\w+\z/
end end
end end
describe '#to_s' do
it 'includes action name' do
expect(action.to_s).to match /\A#{action.name}/
end
it 'includes arguments inspection' do
expect(action.to_s).to match /#{Regexp.quote(arguments.inspect)}\z/
end
context 'when arguments inspection is very long' do
let(:arguments) { [:some, :arguments] * 32 }
it 'summarizes arguments inspection' do
expect(action.to_s.length).to be < 70
end
end
end
end end
end end