Before you got it to Rails 5.1, you'll have to share the transaction to be able to set up the database from "the client part". https://test-prof.evilmartians.io/#/recipes/active_record_shared_connection
On Thu, Nov 19, 2020 at 6:27 AM Jack Royal-Gordon <[email protected]> wrote: > Testing a Rails app (4.2) with RSpec (3.99) and Capybara (2.18). The > beginning of the test creates a user and attempts to login to the user's > account. By the time my Rails code gets control in the "login" module, the > user has disappeared from the database. Here's the code in question: > > @user = FactoryGirl.create :user_fully_setup > visit root_path > fill_in :email, with: @user.email > fill_in :password, with: @user.password > click_button > > This code executes successfully (the click_button logs in the user) unless > I add “js: true” to the test example, in which case I can see the browser > window and it indeed fails to login (because the user is gone). > > When running with Selenium, at the point before "click_button", the user > still exists. When it hits my first "before_filter" in the controller when > the "click_button" is executed, the user is gone (along with records in > other tables created at the same time as the user). > > I know that RSpec often runs inside a db transaction, is there any way > Capybara could be causing the transaction to get reset? > > If you’re wondering why I’m trying to run this with Selenium when it works > just fine without it, it’s really just the first step of the test, and JS > is being tested downstream from this part, so I will need it, just not for > this part. > > -- > You received this message because you are subscribed to the Google Groups > "rspec" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rspec/2D73D42B-CC1B-41E6-BFEE-EDECADEE128F%40pobox.com > <https://groups.google.com/d/msgid/rspec/2D73D42B-CC1B-41E6-BFEE-EDECADEE128F%40pobox.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "rspec" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rspec/CAAk5Ok-Wv1F7Ae6f5zG%2B%2BTMr5_Jaas3Rt0E17N_igmW5PrGFqw%40mail.gmail.com.
