-
Notifications
You must be signed in to change notification settings - Fork 116
/
flow_policy_helper.rb
91 lines (88 loc) · 3.31 KB
/
flow_policy_helper.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
module FlowPolicyHelper
def stub_up_to(key, idv_session:)
keys = keys_up_to(key: key)
keys.each do |key|
stub_step(key: key, idv_session: idv_session)
end
end
def stub_step(key:, idv_session:)
case key
when :welcome
idv_session.welcome_visited = true
when :agreement
idv_session.idv_consent_given_at = Time.zone.now.to_s
when :how_to_verify
idv_session.skip_doc_auth_from_how_to_verify = false
when :hybrid_handoff
idv_session.flow_path = 'standard'
when :link_sent
idv_session.flow_path = 'hybrid'
idv_session.pii_from_doc = Pii::StateId.new(**Idp::Constants::MOCK_IDV_APPLICANT)
when :document_capture
idv_session.pii_from_doc = Pii::StateId.new(**Idp::Constants::MOCK_IDV_APPLICANT)
when :ssn
idv_session.ssn = Idp::Constants::MOCK_IDV_APPLICANT_WITH_SSN[:ssn]
idv_session.threatmetrix_session_id = 'a-random-session-id'
when :ipp_ssn
idv_session.send(:user_session)['idv/in_person'] = {
pii_from_user: Idp::Constants::MOCK_IDV_APPLICANT_SAME_ADDRESS_AS_ID.dup,
}
idv_session.ssn = Idp::Constants::MOCK_IDV_APPLICANT_WITH_SSN[:ssn]
when :verify_info
idv_session.mark_verify_info_step_complete!
idv_session.applicant = Idp::Constants::MOCK_IDV_APPLICANT_WITH_SSN.dup
when :ipp_verify_info
idv_session.mark_verify_info_step_complete!
idv_session.applicant = Idp::Constants::MOCK_IDV_APPLICANT_WITH_SSN.dup
when :phone
idv_session.mark_phone_step_started!
idv_session.applicant = Idp::Constants::MOCK_IDV_APPLICANT_WITH_PHONE.dup
when :otp_verification
idv_session.mark_phone_step_complete!
when :request_letter
idv_session.address_verification_mechanism = 'gpo'
idv_session.vendor_phone_confirmation = false
idv_session.user_phone_confirmation = false
when :enter_password
# FINAL!
end
end
def keys_up_to(key:)
case key
when :welcome
%i[welcome]
when :agreement
%i[welcome agreement]
when :how_to_verify
%i[welcome agreement how_to_verify]
when :hybrid_handoff
%i[welcome agreement how_to_verify hybrid_handoff]
when :link_sent
%i[welcome agreement how_to_verify hybrid_handoff link_sent]
when :document_capture
%i[welcome agreement how_to_verify hybrid_handoff document_capture]
when :ssn
%i[welcome agreement how_to_verify hybrid_handoff document_capture ssn]
when :ipp_ssn
%i[welcome agreement how_to_verify hybrid_handoff ipp_ssn]
when :verify_info
%i[welcome agreement how_to_verify hybrid_handoff document_capture ssn verify_info]
when :ipp_verify_info
%i[welcome agreement how_to_verify hybrid_handoff ipp_ssn ipp_verify_info]
when :phone
%i[welcome agreement how_to_verify hybrid_handoff document_capture ssn
verify_info phone]
when :otp_verification
%i[welcome agreement how_to_verify hybrid_handoff document_capture ssn verify_info
phone otp_verification]
when :request_letter
%i[welcome agreement how_to_verify hybrid_handoff document_capture ssn verify_info
request_letter]
when :enter_password
%i[welcome agreement how_to_verify hybrid_handoff document_capture ssn verify_info
phone otp_verification enter_password]
else
[]
end
end
end