|
|
|
require "rails_helper"
|
|
|
|
|
|
|
|
RSpec.describe SearchComponent, type: :component do
|
|
|
|
let(:current_user) { FactoryBot.create(:user, :support) }
|
|
|
|
let(:search_label) { "Search by name or email address" }
|
|
|
|
let(:value) { nil }
|
|
|
|
|
|
|
|
before do
|
|
|
|
# rubocop:disable RSpec/AnyInstance
|
|
|
|
allow_any_instance_of(ActionDispatch::TestRequest).to receive(:path).and_return("/users")
|
|
|
|
# rubocop:enable RSpec/AnyInstance
|
|
|
|
render_inline(described_class.new(current_user:, search_label:, value:))
|
|
|
|
end
|
|
|
|
|
|
|
|
it "renders a search bar" do
|
|
|
|
expect(page).to have_field("search-field", type: "search")
|
|
|
|
end
|
|
|
|
|
|
|
|
it "renders the given label" do
|
|
|
|
expect(page).to have_content(search_label)
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when a search term has been entered" do
|
|
|
|
let(:value) { "search term" }
|
|
|
|
|
|
|
|
it "shows the search term in the input field" do
|
|
|
|
expect(page).to have_field("search-field", type: "search", with: value)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|