From 97134a7e933fa38a8a4fe26b0679eda8178e66f7 Mon Sep 17 00:00:00 2001 From: JG Date: Thu, 26 May 2022 17:50:13 +0100 Subject: [PATCH] better names and rubo --- spec/features/log_spec.rb | 42 +++++++++++++++++----- spec/requests/case_logs_controller_spec.rb | 6 ++-- 2 files changed, 36 insertions(+), 12 deletions(-) diff --git a/spec/features/log_spec.rb b/spec/features/log_spec.rb index 4a6140f47..56f783059 100644 --- a/spec/features/log_spec.rb +++ b/spec/features/log_spec.rb @@ -4,9 +4,9 @@ RSpec.describe "Log Features" do context "when searching for specific logs" do context "when I am logged in and there are logs in the database" do let(:user) { FactoryBot.create(:user, last_sign_in_at: Time.zone.now) } - let(:log_to_search) { FactoryBot.create(:case_log, owning_organisation: user.organisation, tenancy_code: "111") } - let(:same_organisation_log) { FactoryBot.create(:case_log, owning_organisation: user.organisation, tenancy_code: "222") } - let(:another_organisation_log) { FactoryBot.create(:case_log, tenancy_code: "333") } + let!(:log_to_search) { FactoryBot.create(:case_log, owning_organisation: user.organisation, tenancy_code: "111") } + let!(:same_organisation_log) { FactoryBot.create(:case_log, owning_organisation: user.organisation, tenancy_code: "222") } + let!(:another_organisation_log) { FactoryBot.create(:case_log, tenancy_code: "333") } before do visit("/logs") @@ -15,6 +15,12 @@ RSpec.describe "Log Features" do click_button("Sign in") end + it "I see logs belonging to the same organisation" do + expect(page).to have_content(log_to_search.id) + expect(page).to have_content(same_organisation_log.id) + expect(page).not_to have_content(another_organisation_log.id) + end + context "when I search for a specific log" do it "there is a search bar with a message and search button for logs" do expect(page).to have_field("search") @@ -22,12 +28,30 @@ RSpec.describe "Log Features" do expect(page).to have_button("Search") end - it "displays log matching the log ID" do - fill_in("search", with: log_to_search.id) - click_button("Search") - expect(page).to have_content(log_to_search.id) - expect(page).not_to have_content(same_organisation_log.id) - expect(page).not_to have_content(another_organisation_log.id) + context "when I fill in search information and press the search button" do + before do + fill_in("search", with: log_to_search.id) + click_button("Search") + end + + it "displays log matching the log ID" do + expect(page).to have_content(log_to_search.id) + expect(page).not_to have_content(same_organisation_log.id) + expect(page).not_to have_content(another_organisation_log.id) + end + + context "when I want to clear results" do + it "there is link to clear the search results" do + expect(page).to have_link("Clear search") + end + + it "I see logs belonging to the same organisation" do + click_link("Clear search") + expect(page).to have_content(log_to_search.id) + expect(page).to have_content(same_organisation_log.id) + expect(page).not_to have_content(another_organisation_log.id) + end + end end end end diff --git a/spec/requests/case_logs_controller_spec.rb b/spec/requests/case_logs_controller_spec.rb index f4872ce56..315ff6867 100644 --- a/spec/requests/case_logs_controller_spec.rb +++ b/spec/requests/case_logs_controller_spec.rb @@ -332,7 +332,7 @@ RSpec.describe CaseLogsController, type: :request do expect(page).not_to have_content(logs[2].id) end - it "it has search results in the title" do + it "has search results in the title" do get "/logs?search=#{logs[0].id}", headers: headers, params: {} expect(page).to have_content("Logs (search results for ‘#{logs[0].id}’) - Submit social housing and sales data (CORE) - GOV.UK") end @@ -340,12 +340,12 @@ RSpec.describe CaseLogsController, type: :request do context "when there are more than 1 page of search results" do let(:logs) { FactoryBot.create_list(:case_log, 30, :completed, owning_organisation: user.organisation, postcode_full: "XX1 1YY") } - it "it has title with pagination details for page 1" do + it "has title with pagination details for page 1" do get "/logs?search=#{logs[0].postcode_full}", headers: headers, params: {} expect(page).to have_content("Logs (search results for ‘#{logs[0].postcode_full}’, page 1 of 2) - Submit social housing and sales data (CORE) - GOV.UK") end - it "it has title with pagination details for page 2" do + it "has title with pagination details for page 2" do get "/logs?search=#{logs[0].postcode_full}&page=2", headers: headers, params: {} expect(page).to have_content("Logs (search results for ‘#{logs[0].postcode_full}’, page 2 of 2) - Submit social housing and sales data (CORE) - GOV.UK") end