From 1c64f7b565af5d82f4fdde261f02892e1a9798cd Mon Sep 17 00:00:00 2001 From: JG Date: Fri, 10 Jun 2022 06:05:59 +0100 Subject: [PATCH] searching via code and org tests --- spec/models/scheme_spec.rb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 spec/models/scheme_spec.rb diff --git a/spec/models/scheme_spec.rb b/spec/models/scheme_spec.rb new file mode 100644 index 000000000..86a84d250 --- /dev/null +++ b/spec/models/scheme_spec.rb @@ -0,0 +1,34 @@ +require "rails_helper" + +RSpec.describe Scheme, type: :model do + describe "#new" do + let(:scheme) { FactoryBot.create(:scheme) } + + it "belongs to an organisation" do + expect(scheme.organisation).to be_a(Organisation) + end + + describe "scopes" do + let!(:scheme_1) { FactoryBot.create(:scheme) } + let!(:scheme_2) { FactoryBot.create(:scheme) } + + context "when searching by code" do + it "returns case insensitive matching records" do + expect(described_class.search_by_code(scheme_1.code.upcase).count).to eq(1) + expect(described_class.search_by_code(scheme_1.code.downcase).count).to eq(1) + expect(described_class.search_by_code(scheme_2.code.upcase).count).to eq(1) + expect(described_class.search_by_code(scheme_2.code.downcase).count).to eq(1) + end + end + + context "when searching by service name" do + it "returns case insensitive matching records" do + expect(described_class.search_by_organisation(scheme_1.organisation.name.upcase).count).to eq(1) + expect(described_class.search_by_organisation(scheme_1.organisation.name.downcase).count).to eq(1) + expect(described_class.search_by_organisation(scheme_2.organisation.name.upcase).count).to eq(1) + expect(described_class.search_by_organisation(scheme_2.organisation.name.downcase).count).to eq(1) + end + end + end + end +end