Skip to content

DatabaseCleaner cleans my development database instead of test #523

Closed
@RTJ

Description

@RTJ

Hi.
DatabaseCleaner cleans my development database instead of test
I have tried all possible configurations.
And I still have this problem.

database_cleaner 1.6.2
Rails: 5.1.5
Ruby 2.5

Gemfile:


group :development, :test do
  gem "byebug", platforms: [:mri, :mingw, :x64_mingw]
  gem "factory_bot_rails", "~> 4.8", ">= 4.8.2"
  gem "figaro"
  gem "faker", "~> 1.8", ">= 1.8.4"
end

group :development do
  gem "web-console", ">= 3.3.0"
  gem "listen", ">= 3.0.5", "< 3.2"
  gem "spring"
  gem "spring-watcher-listen", "~> 2.0.0"
  gem "pry-rails", "~> 0.3.6"
  gem "better_errors"
  gem "binding_of_caller"
end

group :test do
  gem "capybara"
  gem "selenium-webdriver"
  gem "simplecov", "~> 0.15.1", :require => false
  gem "shoulda-matchers", "~> 3.1", ">= 3.1.2"
  gem "database_cleaner"
  gem "rspec-rails", "~> 3.7", ">= 3.7.2"
end

in rails_helper i have forced env to test:
ENV['RAILS_ENV'] = "test"

DatabaseCLeaner conf file ( i have tried all posible combinations for configuration:

RSpec.configure do |config|

  config.before(:suite) do
    DatabaseCleaner.clean_with(:truncation)
  end
  config.before(:each) do
    DatabaseCleaner.strategy = :transaction
  end
  config.before(:each, js: true) do
    DatabaseCleaner.strategy = :truncation
  end
  config.before(:each) do
    DatabaseCleaner.start
  end
  config.after(:each) do
    DatabaseCleaner.clean
  end

end

From tests when i print ENV i get TEST env but each time after test my development database is cleaned and test database is not used:
p ENV["RAILS_ENV"] #=> "test"

database config file have default configuration for test:

test:
  <<: *default
  database: appname_test
  username: <%= ENV["DATABASE_USER"] %>
  password: <%= ENV["DATABASE_PASSWORD"] %>
  reconnect: true

Any idea where to look to fix this bug ?

**after executing the rspec command all the data in my development database is deleted **

Thx

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions