From 0dc5114a190bb771fa29eeb7db5754ce7a376f04 Mon Sep 17 00:00:00 2001 From: JG Date: Fri, 10 Jun 2022 07:20:12 +0100 Subject: [PATCH] searching schemes feature --- spec/features/schemes_spec.rb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/spec/features/schemes_spec.rb b/spec/features/schemes_spec.rb index 1c90d4d52..b1fe131fe 100644 --- a/spec/features/schemes_spec.rb +++ b/spec/features/schemes_spec.rb @@ -5,6 +5,7 @@ RSpec.describe "Supported housing scheme Features" do context "when I am signed as a support user in there are schemes in the database" do let(:user) { FactoryBot.create(:user, :support, last_sign_in_at: Time.zone.now) } let!(:schemes) { FactoryBot.create_list(:scheme, 5) } + let!(:scheme_to_search) { FactoryBot.create(:scheme) } let(:notify_client) { instance_double(Notifications::Client) } let(:confirmation_token) { "MCDH5y6Km-U7CFPgAMVS" } let(:devise_notify_mailer) { DeviseNotifyMailer.new } @@ -38,6 +39,39 @@ RSpec.describe "Supported housing scheme Features" do expect(page).to have_content(scheme.code) end end + + context "when I search for a specific scheme" do + it "there is a search bar with a message and search button for schemes" do + expect(page).to have_field("search") + expect(page).to have_content("Search by service name or code") + expect(page).to have_button("Search") + end + + context "when I fill in search information and press the search button" do + before do + fill_in("search", with: scheme_to_search.code) + click_button("Search") + end + + it "displays scheme matching the scheme code" do + expect(page).to have_content(scheme_to_search.code) + 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 "displays all schemes after I clear the search results" do + click_link("Clear search") + expect(page).to have_content(scheme_to_search.code) + schemes.each do |scheme| + expect(page).to have_content(scheme.code) + end + end + end + end + end end end end