Reduce number of requests in user search specs

We were adding a `visit` in a `before` block but then we started the
search tests with another `visit`.

We also created records in the database in between, which increased the
risk of database inconsistency since the process running the browser had
already been started.
This commit is contained in:
Javi Martín
2021-04-10 12:59:31 +02:00
parent cab750c8f1
commit 6f5180e512
6 changed files with 41 additions and 22 deletions

View File

@@ -5,12 +5,11 @@ describe "Admin administrators" do
let!(:user) { create(:user, username: "Jose Luis Balbin") }
let!(:user_administrator) { create(:administrator, description: "admin_alias") }
before do
login_as(admin.user)
visit admin_administrators_path
end
before { login_as(admin.user) }
scenario "Index" do
visit admin_administrators_path
expect(page).to have_content user_administrator.id
expect(page).to have_content user_administrator.name
expect(page).to have_content user_administrator.email
@@ -19,6 +18,8 @@ describe "Admin administrators" do
end
scenario "Create Administrator" do
visit admin_administrators_path
fill_in "search", with: user.email
click_button "Search"
@@ -30,6 +31,8 @@ describe "Admin administrators" do
end
scenario "Delete Administrator" do
visit admin_administrators_path
within "#administrator_#{user_administrator.id}" do
accept_confirm { click_link "Delete" }
end
@@ -40,6 +43,8 @@ describe "Admin administrators" do
end
scenario "Delete Administrator when its the current user" do
visit admin_administrators_path
within "#administrator_#{admin.id}" do
accept_confirm { click_link "Delete" }
end

View File

@@ -4,17 +4,17 @@ describe "Admin managers", :admin do
let!(:user) { create(:user) }
let!(:manager) { create(:manager) }
before do
visit admin_managers_path
end
scenario "Index" do
visit admin_managers_path
expect(page).to have_content manager.name
expect(page).to have_content manager.email
expect(page).not_to have_content user.name
end
scenario "Create Manager" do
visit admin_managers_path
fill_in "search", with: user.email
click_button "Search"
@@ -26,6 +26,8 @@ describe "Admin managers", :admin do
end
scenario "Delete Manager" do
visit admin_managers_path
accept_confirm { click_link "Delete" }
within("#managers") do

View File

@@ -4,17 +4,17 @@ describe "Admin moderators", :admin do
let!(:user) { create(:user, username: "Jose Luis Balbin") }
let!(:moderator) { create(:moderator) }
before do
visit admin_moderators_path
end
scenario "Index" do
visit admin_moderators_path
expect(page).to have_content moderator.name
expect(page).to have_content moderator.email
expect(page).not_to have_content user.name
end
scenario "Create Moderator" do
visit admin_moderators_path
fill_in "search", with: user.email
click_button "Search"
@@ -26,6 +26,8 @@ describe "Admin moderators", :admin do
end
scenario "Delete Moderator" do
visit admin_moderators_path
accept_confirm { click_link "Delete" }
within("#moderators") do

View File

@@ -4,18 +4,19 @@ describe "Admin SDG managers" do
let!(:user) { create(:user) }
let!(:sdg_manager) { create(:sdg_manager) }
before do
login_as(create(:administrator).user)
visit admin_sdg_managers_path
end
before { login_as(create(:administrator).user) }
scenario "Index" do
visit admin_sdg_managers_path
expect(page).to have_content sdg_manager.name
expect(page).to have_content sdg_manager.email
expect(page).not_to have_content user.name
end
scenario "Create SDG Manager" do
visit admin_sdg_managers_path
fill_in "search", with: user.email
click_button "Search"
@@ -29,6 +30,8 @@ describe "Admin SDG managers" do
end
scenario "Delete SDG Manager" do
visit admin_sdg_managers_path
accept_confirm { click_link "Delete" }
within("#sdg_managers") do

View File

@@ -4,12 +4,11 @@ describe "Admin users" do
let(:admin) { create(:administrator) }
let!(:user) { create(:user, username: "Jose Luis Balbin") }
before do
login_as(admin.user)
visit admin_users_path
end
before { login_as(admin.user) }
scenario "Index" do
visit admin_users_path
expect(page).to have_link user.name
expect(page).to have_content user.email
expect(page).to have_content admin.name
@@ -17,6 +16,8 @@ describe "Admin users" do
end
scenario "The username links to their public profile" do
visit admin_users_path
within_window(window_opened_by { click_link user.name }) do
expect(page).to have_current_path(user_path(user))
end
@@ -45,6 +46,8 @@ describe "Admin users" do
end
scenario "Search" do
visit admin_users_path
fill_in :search, with: "Luis"
click_button "Search"

View File

@@ -4,8 +4,6 @@ describe "Admin valuators", :admin do
let!(:user) { create(:user, username: "Jose Luis Balbin") }
let!(:valuator) { create(:valuator, description: "Very reliable") }
before { visit admin_valuators_path }
scenario "Show" do
visit admin_valuator_path(valuator)
@@ -16,12 +14,16 @@ describe "Admin valuators", :admin do
end
scenario "Index" do
visit admin_valuators_path
expect(page).to have_content(valuator.name)
expect(page).to have_content(valuator.email)
expect(page).not_to have_content(user.name)
end
scenario "Create" do
visit admin_valuators_path
fill_in "search", with: user.email
click_button "Search"
@@ -51,6 +53,8 @@ describe "Admin valuators", :admin do
end
scenario "Destroy" do
visit admin_valuators_path
accept_confirm { click_link "Delete" }
within("#valuators") do