1
0
Fork 0
mirror of https://github.com/thoughtbot/factory_bot.git synced 2022-11-09 11:43:51 -05:00
thoughtbot--factory_bot/spec/factory_bot_spec.rb
Alejandro Dustet f82e40c8c5 Deprecate/Move strategies and callback methods
Why:
These methods are used internally for the functionality of the library
and are subject to change. Therefore shouldn't be part of the public
interface.

This PR:
- Moves the ```register_strategy```, ```register_callback```,
```register_default_factories```, ```register_default_callbacks```
```strategies```, ```callback_names```
and ```strategy_by_name``` methods to the ```FactoryBot::Internal```
class.
- Deprecates the use of ```register_callback``` from the ```FactoryBot```
module.
2019-06-04 20:09:14 -04:00

32 lines
1 KiB
Ruby

describe FactoryBot do
let(:factory) { FactoryBot::Factory.new(:object) }
let(:sequence) { FactoryBot::Sequence.new(:email) }
let(:trait) { FactoryBot::Trait.new(:admin) }
it "finds a registered factory", :silence_deprecation do
FactoryBot.register_factory(factory)
expect(FactoryBot.factory_by_name(factory.name)).to eq factory
end
it "finds a registered sequence", :silence_deprecation do
FactoryBot.register_sequence(sequence)
expect(FactoryBot.sequence_by_name(sequence.name)).to eq sequence
end
it "finds a registered trait", :silence_deprecation do
FactoryBot.register_trait(trait)
expect(FactoryBot.trait_by_name(trait.name)).to eq trait
end
it "finds a registered strategy" do
FactoryBot.register_strategy(:strategy_name, :strategy_class)
expect(FactoryBot.strategy_by_name(:strategy_name)).
to eq :strategy_class
end
describe ".use_parent_strategy" do
it "is true by default" do
expect(FactoryBot.use_parent_strategy).to be true
end
end
end