mirror of
https://github.com/thoughtbot/factory_bot.git
synced 2022-11-09 11:43:51 -05:00
Refactor null_object_spec.rb to conform to Let's Not style (#1348)
This commit is contained in:
parent
877646eeac
commit
c62ca43d17
1 changed files with 11 additions and 9 deletions
|
@ -1,20 +1,22 @@
|
||||||
describe FactoryBot::NullObject do
|
describe FactoryBot::NullObject do
|
||||||
let(:methods_to_respond_to) { %w[id age name admin?] }
|
|
||||||
let(:methods_to_not_respond_to) { %w[email date_of_birth title] }
|
|
||||||
|
|
||||||
subject { FactoryBot::NullObject.new(methods_to_respond_to) }
|
|
||||||
|
|
||||||
it "responds to the given methods" do
|
it "responds to the given methods" do
|
||||||
|
methods_to_respond_to = %w[id age name admin?]
|
||||||
|
null_object = FactoryBot::NullObject.new(methods_to_respond_to)
|
||||||
|
|
||||||
methods_to_respond_to.each do |method_name|
|
methods_to_respond_to.each do |method_name|
|
||||||
expect(subject.__send__(method_name)).to be_nil
|
expect(null_object.__send__(method_name)).to be_nil
|
||||||
expect(subject).to respond_to(method_name)
|
expect(null_object).to respond_to(method_name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it "does not respond to other methods" do
|
it "does not respond to other methods" do
|
||||||
|
methods_to_respond_to = %w[id age name admin?]
|
||||||
|
methods_to_not_respond_to = %w[email date_of_birth title]
|
||||||
|
null_object = FactoryBot::NullObject.new(methods_to_respond_to)
|
||||||
|
|
||||||
methods_to_not_respond_to.each do |method_name|
|
methods_to_not_respond_to.each do |method_name|
|
||||||
expect { subject.__send__(method_name) }.to raise_error(NoMethodError)
|
expect { null_object.__send__(method_name) }.to raise_error(NoMethodError)
|
||||||
expect(subject).not_to respond_to(method_name)
|
expect(null_object).not_to respond_to(method_name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue