Skip to content

Commit

Permalink
Always execute a reload when Rails triggers one (instead of just on u…
Browse files Browse the repository at this point in the history
…pdate) to prevent doubly-defined constants errors in factories when using Spring

- #323
  • Loading branch information
Jacob Frautschi authored and composerinteralia committed Apr 5, 2019
1 parent 0b24977 commit dcfc9f6
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 9 deletions.
4 changes: 0 additions & 4 deletions lib/factory_bot_rails/railtie.rb
Expand Up @@ -22,10 +22,6 @@ class Railtie < Rails::Railtie
Reloader.new(app, config).run
end

config.after_initialize do
FactoryBot.find_definitions
end

private

def definition_file_paths
Expand Down
2 changes: 1 addition & 1 deletion lib/factory_bot_rails/reloader.rb
Expand Up @@ -31,7 +31,7 @@ def reloader_class

def register_reloader(reloader)
config.to_prepare do
reloader.execute_if_updated
reloader.execute
end

app.reloaders << reloader
Expand Down
8 changes: 4 additions & 4 deletions spec/factory_bot_rails/railtie_spec.rb
Expand Up @@ -9,7 +9,7 @@
touch("factories.rb")
reload_rails!

expect(FactoryBot).to have_received(:reload)
expect(FactoryBot).to have_received(:reload).at_least(1).times
end
end

Expand All @@ -20,17 +20,17 @@
touch("factories/definitions.rb")
reload_rails!

expect(FactoryBot).to have_received(:reload)
expect(FactoryBot).to have_received(:reload).at_least(1).times
end
end

context "when the factory definitions have NOT been updated" do
it "does NOT reload the factory definitions" do
it "reloads the factory definitions" do
allow(FactoryBot).to receive(:reload)

reload_rails!

expect(FactoryBot).not_to have_received(:reload)
expect(FactoryBot).to have_received(:reload).at_least(1).times
end
end

Expand Down

0 comments on commit dcfc9f6

Please sign in to comment.