/
duplicate_intake_guard_spec.rb
62 lines (50 loc) · 2.04 KB
/
duplicate_intake_guard_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
require "rails_helper"
RSpec.describe DuplicateIntakeGuard do
let!(:existing_intake) do
create(
:intake,
email_address: "existing@client.com",
intake_pdf_sent_to_zendesk: "yes"
)
end
let(:subject) { DuplicateIntakeGuard.new(matching_intake) }
describe "has_duplicate?" do
context "intake with matching email address exists" do
let!(:existing_intake) { create(:intake, email_address: "existing@client.com") }
let(:matching_intake) { create(:intake, email_address: "existing@client.com") }
it "returns false if the intake pdf has not been sent to zendesk" do
expect(subject).not_to have_duplicate
end
it "returns true if the intake pdf has been sent to zendesk" do
existing_intake.update(intake_pdf_sent_to_zendesk: true)
expect(subject).to have_duplicate
end
end
context "intake with matching phone number exists" do
let!(:existing_intake) { create(:intake, phone_number: "1234567890") }
let(:matching_intake) { create(:intake, phone_number: "1234567890") }
it "returns false if the intake pdf has not been sent to zendesk" do
expect(subject).not_to have_duplicate
end
it "returns true if the intake pdf has been sent to zendesk" do
existing_intake.update(intake_pdf_sent_to_zendesk: true)
expect(subject).to have_duplicate
end
end
context "existing intake is missing email address and phone number" do
let!(:existing_intake) { create(:intake, intake_pdf_sent_to_zendesk: true) }
let(:matching_intake) { create(:intake) }
it "there is no match without phone and email" do
expect(subject).not_to have_duplicate
end
it "there is no match with email address" do
matching_intake.update(email_address: "new@email.com")
expect(subject).not_to have_duplicate
end
it "there is no match with phone number" do
matching_intake.update(phone_number: "1234567890")
expect(subject).not_to have_duplicate
end
end
end
end