|
|
|
@ -1864,7 +1864,7 @@ RSpec.describe CaseLog do
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
describe "scopes" do |
|
|
|
|
let!(:case_log_1) { FactoryBot.create(:case_log, :in_progress, startdate: Time.utc(2021, 5, 3), created_by: created_by_user) } |
|
|
|
|
let!(:case_log_1) { FactoryBot.create(:case_log, :in_progress, startdate: Time.utc(2021, 5, 3), created_by: created_by_user, postcode_full: "XX12YY") } |
|
|
|
|
let!(:case_log_2) { FactoryBot.create(:case_log, :completed, startdate: Time.utc(2021, 5, 3), created_by: created_by_user) } |
|
|
|
|
|
|
|
|
|
before do |
|
|
|
@ -1872,63 +1872,64 @@ RSpec.describe CaseLog do
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context "searching scopes" do |
|
|
|
|
let!(:case_log_3) { FactoryBot.create(:case_log, :completed, startdate: Time.utc(2021, 5, 3), created_by: created_by_user) } |
|
|
|
|
let!(:case_log_3) { FactoryBot.create(:case_log, :completed, startdate: Time.utc(2021, 5, 3), created_by: created_by_user, postcode_full: "XX12YY") } |
|
|
|
|
|
|
|
|
|
context "#search_by_id" do |
|
|
|
|
it "allows uearching by a log ID" do |
|
|
|
|
expect(described_class.search_by_id(case_log_1.id).count).to eq(1) |
|
|
|
|
expect(described_class.search_by_id(case_log_1.id).first.id).to eq case_log_1.id |
|
|
|
|
context "#filter_by_id" do |
|
|
|
|
it "allows searching by a log ID" do |
|
|
|
|
expect(described_class.filter_by_id(case_log_1.id.to_s).count).to eq(1) |
|
|
|
|
expect(described_class.filter_by_id(case_log_1.id.to_s).first.id).to eq case_log_1.id |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context "#search_by_tenancy_code" do |
|
|
|
|
context "#filter_by_tenancy_code" do |
|
|
|
|
it "allows searching by a Tenancy Code" do |
|
|
|
|
expect(described_class.search_by_tenancy_code(case_log_2.tenancy_code).count).to eq(1) |
|
|
|
|
expect(described_class.search_by_tenancy_code(case_log_2.tenancy_code).first.id).to eq case_log_2.id |
|
|
|
|
expect(described_class.filter_by_tenancy_code(case_log_2.tenancy_code).count).to eq(1) |
|
|
|
|
expect(described_class.filter_by_tenancy_code(case_log_2.tenancy_code).first.id).to eq case_log_2.id |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context "#search_by_propcode" do |
|
|
|
|
context "#filter_by_propcode" do |
|
|
|
|
it "allows searching by a Property Reference" do |
|
|
|
|
expect(described_class.search_by_propcode(case_log_2.propcode).count).to eq(1) |
|
|
|
|
expect(described_class.search_by_propcode(case_log_2.propcode).first.id).to eq case_log_2.id |
|
|
|
|
expect(described_class.filter_by_propcode(case_log_2.propcode).count).to eq(1) |
|
|
|
|
expect(described_class.filter_by_propcode(case_log_2.propcode).first.id).to eq case_log_2.id |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context "#search_by_postcode" do |
|
|
|
|
context "#filter_by_postcode" do |
|
|
|
|
it "allows searching by a Property Postcode" do |
|
|
|
|
expect(described_class.search_by_postcode(case_log_2.postcode_full).count).to eq(1) |
|
|
|
|
expect(described_class.search_by_postcode(case_log_2.postcode_full).first.id).to eq case_log_2.id |
|
|
|
|
expect(described_class.filter_by_postcode(case_log_2.postcode_full).count).to eq(1) |
|
|
|
|
expect(described_class.filter_by_postcode(case_log_2.postcode_full).first.id).to eq case_log_2.id |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context "#search_by" do |
|
|
|
|
context "#filter_by" do |
|
|
|
|
it "allows searching using ID" do |
|
|
|
|
expect(described_class.search_by(case_log_1.id).count).to eq(1) |
|
|
|
|
expect(described_class.search_by(case_log_1.id).first.id).to eq case_log_1.id |
|
|
|
|
expect(described_class.filter_by(case_log_1.id.to_s).count).to eq(1) |
|
|
|
|
expect(described_class.filter_by(case_log_1.id.to_s).first.id).to eq case_log_1.id |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it "allows searching using tenancy code" do |
|
|
|
|
expect(described_class.search_by(case_log_2.tenancy_code).count).to eq(1) |
|
|
|
|
expect(described_class.search_by(case_log_2.tenancy_code).first.id).to eq case_log_2.id |
|
|
|
|
expect(described_class.filter_by(case_log_2.tenancy_code).count).to eq(1) |
|
|
|
|
expect(described_class.filter_by(case_log_2.tenancy_code).first.id).to eq case_log_2.id |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it "allows searching by a Property Reference" do |
|
|
|
|
expect(described_class.search_by(case_log_2.propcode).count).to eq(1) |
|
|
|
|
expect(described_class.search_by(case_log_2.propcode).first.id).to eq case_log_2.id |
|
|
|
|
expect(described_class.filter_by(case_log_2.propcode).count).to eq(1) |
|
|
|
|
expect(described_class.filter_by(case_log_2.propcode).first.id).to eq case_log_2.id |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it "allows searching by a Property Postcode" do |
|
|
|
|
expect(described_class.search_by(case_log_2.postcode_full).count).to eq(1) |
|
|
|
|
expect(described_class.search_by(case_log_2.postcode_full).first.id).to eq case_log_2.id |
|
|
|
|
expect(described_class.filter_by(case_log_1.postcode_full).count).to eq(2) |
|
|
|
|
expect(described_class.filter_by(case_log_1.postcode_full).first.id).to eq case_log_1.id |
|
|
|
|
expect(described_class.filter_by(case_log_1.postcode_full).last.id).to eq case_log_3.id |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context "postcode has spaces and lower case letters" do |
|
|
|
|
let(:matching_postcode_lower_case_with_spaces) { case_log_2.postcode_full..downcase.chars.insert(3, " ").join } |
|
|
|
|
let(:matching_postcode_lower_case_with_spaces) { case_log_2.postcode_full.downcase.chars.insert(3, " ").join } |
|
|
|
|
|
|
|
|
|
it "allows searching by a Property Postcode" do |
|
|
|
|
expect(described_class.search_by(matching_postcode_lower_case_with_spaces).count).to eq(1) |
|
|
|
|
expect(described_class.search_by(matching_postcode_lower_case_with_spaces).first.id).to eq case_log_2.id |
|
|
|
|
expect(described_class.filter_by(matching_postcode_lower_case_with_spaces).count).to eq(1) |
|
|
|
|
expect(described_class.filter_by(matching_postcode_lower_case_with_spaces).first.id).to eq case_log_2.id |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|