|
|
|
@ -6,15 +6,17 @@ RSpec.describe DuplicateLogsHelper do |
|
|
|
let(:current_user) { create(:user, organisation: org) } |
|
|
|
let(:current_user) { create(:user, organisation: org) } |
|
|
|
let(:user_same_org) { create(:user, organisation: org) } |
|
|
|
let(:user_same_org) { create(:user, organisation: org) } |
|
|
|
let(:user_other_org) { create(:user, organisation: other_org) } |
|
|
|
let(:user_other_org) { create(:user, organisation: other_org) } |
|
|
|
|
|
|
|
let(:empty_duplicates) { { lettings: [], sales: [] } } |
|
|
|
let(:result) { duplicates_for_user(current_user) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let!(:lettings_log) { create(:lettings_log, :duplicate, created_by: current_user) } |
|
|
|
let!(:lettings_log) { create(:lettings_log, :duplicate, created_by: current_user) } |
|
|
|
let!(:sales_log) { create(:sales_log, :duplicate, created_by: current_user) } |
|
|
|
let!(:sales_log) { create(:sales_log, :duplicate, created_by: current_user) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
describe "#duplicates_for_user" do |
|
|
|
|
|
|
|
let(:result) { duplicates_for_user(current_user) } |
|
|
|
|
|
|
|
|
|
|
|
context "when there are no duplicates" do |
|
|
|
context "when there are no duplicates" do |
|
|
|
it "returns nil" do |
|
|
|
it "returns nil" do |
|
|
|
expect(result).to be nil |
|
|
|
expect(result).to eq empty_duplicates |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
@ -24,8 +26,8 @@ RSpec.describe DuplicateLogsHelper do |
|
|
|
create(:sales_log, :duplicate, created_by: user_other_org) |
|
|
|
create(:sales_log, :duplicate, created_by: user_other_org) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
it "returns nil" do |
|
|
|
it "does not locate duplicates" do |
|
|
|
expect(result).to be nil |
|
|
|
expect(result).to eq empty_duplicates |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
@ -34,7 +36,7 @@ RSpec.describe DuplicateLogsHelper do |
|
|
|
|
|
|
|
|
|
|
|
it "returns the ids of the duplicates in a hash under the lettings key" do |
|
|
|
it "returns the ids of the duplicates in a hash under the lettings key" do |
|
|
|
expect(result).to be_a Hash |
|
|
|
expect(result).to be_a Hash |
|
|
|
expect(result[:lettings].values).to match_array [[lettings_log.id, duplicate_lettings_log.id]] |
|
|
|
expect(result[:lettings]).to match_array [[lettings_log.id, duplicate_lettings_log.id]] |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
@ -43,7 +45,7 @@ RSpec.describe DuplicateLogsHelper do |
|
|
|
|
|
|
|
|
|
|
|
it "returns the ids of the duplicates in a hash under the sales key" do |
|
|
|
it "returns the ids of the duplicates in a hash under the sales key" do |
|
|
|
expect(result).to be_a Hash |
|
|
|
expect(result).to be_a Hash |
|
|
|
expect(result[:sales].values).to match_array [[sales_log.id, duplicate_sales_log.id]] |
|
|
|
expect(result[:sales]).to match_array [[sales_log.id, duplicate_sales_log.id]] |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
@ -59,8 +61,9 @@ RSpec.describe DuplicateLogsHelper do |
|
|
|
[further_sales_log.id, *further_duplicate_sales_logs.map(&:id)], |
|
|
|
[further_sales_log.id, *further_duplicate_sales_logs.map(&:id)], |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
expect(result[:lettings].values).to match_array [[lettings_log.id, duplicate_lettings_log.id]] |
|
|
|
expect(result[:lettings]).to match_array [[lettings_log.id, duplicate_lettings_log.id]] |
|
|
|
expect(result[:sales].values).to match_array expected_sales_duplicates_result |
|
|
|
expect(result[:sales]).to match_array expected_sales_duplicates_result |
|
|
|
|
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|