46
46
end
47
47
48
48
describe '#info' do
49
- it 'returns the name value' do
50
- expect ( subject . info [ :name ] ) . to eql ( 'Hig2yAT79cWvseSuXcIuCLa5lNkAPy70rxetUaeHlTJGmiwc/g1MWdYWYrexWvPU' )
49
+ context 'when using a mock request' do
50
+ it 'returns the base64_selfie_uri value' do
51
+ selfie = File . read ( 'spec/fixtures/selfie.txt' , encoding : 'utf-8' )
52
+ expect ( subject . info [ :base64_selfie_uri ] ) . to eql ( selfie )
53
+ end
51
54
end
52
55
53
- it 'returns the base64_selfie_uri value' do
54
- selfie = File . read ( 'spec/fixtures/selfie.txt' , encoding : 'utf-8' )
55
- expect ( subject . info [ :base64_selfie_uri ] ) . to eql ( selfie )
56
+ context 'when using a mock object' do
57
+ before do
58
+ allow ( subject ) . to receive ( :yoti_user_profile ) . and_return ( yoti_user_profile_mock )
59
+ allow ( subject ) . to receive ( :base64_selfie_uri ) . and_return ( base64_selfie_uri_mock )
60
+ allow ( subject ) . to receive ( :age_verified ) . and_return ( age_verified_mock )
61
+ end
62
+
63
+ it 'returns the correct values' do
64
+ expect ( subject . info [ :name ] ) . to eql ( 'John Doe' )
65
+ expect ( subject . info [ :selfie ] ) . to eql ( 'selfie.png' )
66
+ expect ( subject . info [ :full_name ] ) . to eql ( 'John Doe' )
67
+ expect ( subject . info [ :given_names ] ) . to eql ( 'John' )
68
+ expect ( subject . info [ :family_name ] ) . to eql ( 'Doe' )
69
+ expect ( subject . info [ :phone_number ] ) . to eql ( '07474747474' )
70
+ expect ( subject . info [ :email_address ] ) . to eql ( '[email protected] ' )
71
+ expect ( subject . info [ :date_of_birth ] ) . to eql ( '2000.12.12' )
72
+ expect ( subject . info [ :postal_address ] ) . to eql ( 'WC2N 4JH' )
73
+ expect ( subject . info [ :gender ] ) . to eql ( 'male' )
74
+ expect ( subject . info [ :nationality ] ) . to eql ( 'British' )
75
+ expect ( subject . info [ :base64_selfie_uri ] ) . to eql ( 'data:image/jpeg;base64,/9j/2wCEAAMCAg' )
76
+ expect ( subject . info [ :age_verified ] ) . to eql ( true )
77
+ end
56
78
end
57
79
end
58
80
59
81
describe '#extra' do
60
82
context 'when using a mock request' do
61
83
it 'has the correct selfie' do
62
84
selfie = File . read ( 'spec/fixtures/selfie.txt' , encoding : 'utf-8' )
63
- expect ( 'data:image/jpeg;base64,' . concat ( Base64 . strict_encode64 ( subject . extra [ :selfie ] ) ) ) . to eql ( selfie )
85
+ expect ( 'data:image/jpeg;base64,' . concat ( Base64 . strict_encode64 ( subject . extra [ :raw_info ] [ ' selfie' ] ) ) ) . to eql ( selfie )
64
86
end
65
87
66
88
it 'has the correct phone number' do
67
- expect ( subject . extra [ :phone_number ] ) . to eql ( '+447474747474' )
89
+ expect ( subject . extra [ :raw_info ] [ ' phone_number' ] ) . to eql ( '+447474747474' )
68
90
end
69
91
end
70
92
71
93
context 'when using a mock object' do
72
94
before do
73
- allow ( subject ) . to receive ( :yoti_user_profile ) . and_return ( raw_info_hash )
74
- end
75
-
76
- it 'has the correct selfie' do
77
- expect ( subject . extra [ :selfie ] ) . to eql ( 'selfie.png' )
78
- end
79
-
80
- it 'has the correct given names' do
81
- expect ( subject . extra [ :given_names ] ) . to eql ( 'Given Names' )
82
- end
83
-
84
- it 'has the correct family name' do
85
- expect ( subject . extra [ :family_name ] ) . to eql ( 'Family Name' )
95
+ allow ( subject ) . to receive ( :yoti_user_profile ) . and_return ( yoti_user_profile_mock )
86
96
end
87
97
88
- it 'has the correct mobile number' do
89
- expect ( subject . extra [ :phone_number ] ) . to eql ( '07474747474' )
90
- end
91
-
92
- it 'has the correct email address' do
93
- expect ( subject . extra [ :email_address ] ) . to eql ( '[email protected] ' )
94
- end
95
-
96
- it 'has the correct date of birth' do
97
- expect ( subject . extra [ :date_of_birth ] ) . to eql ( '2000.12.12' )
98
- end
99
-
100
- it 'has the correct postal address' do
101
- expect ( subject . extra [ :postal_address ] ) . to eql ( 'WC2N 4JH' )
102
- end
103
-
104
- it 'has the correct gender' do
105
- expect ( subject . extra [ :gender ] ) . to eql ( 'male' )
106
- end
107
-
108
- it 'has the correct nationality' do
109
- expect ( subject . extra [ :nationality ] ) . to eql ( 'British' )
98
+ it 'returns the correct values' do
99
+ expect ( subject . extra [ :raw_info ] [ 'selfie' ] ) . to eql ( 'selfie.png' )
100
+ expect ( subject . extra [ :raw_info ] [ 'full_name' ] ) . to eql ( 'John Doe' )
101
+ expect ( subject . extra [ :raw_info ] [ 'given_names' ] ) . to eql ( 'John' )
102
+ expect ( subject . extra [ :raw_info ] [ 'family_name' ] ) . to eql ( 'Doe' )
103
+ expect ( subject . extra [ :raw_info ] [ 'phone_number' ] ) . to eql ( '07474747474' )
104
+ expect ( subject . extra [ :raw_info ] [ 'email_address' ] ) . to eql ( '[email protected] ' )
105
+ expect ( subject . extra [ :raw_info ] [ 'date_of_birth' ] ) . to eql ( '2000.12.12' )
106
+ expect ( subject . extra [ :raw_info ] [ 'postal_address' ] ) . to eql ( 'WC2N 4JH' )
107
+ expect ( subject . extra [ :raw_info ] [ 'gender' ] ) . to eql ( 'male' )
108
+ expect ( subject . extra [ :raw_info ] [ 'nationality' ] ) . to eql ( 'British' )
110
109
end
111
110
end
112
111
end
113
112
114
113
private
115
114
116
- def raw_info_hash
115
+ def yoti_user_profile_mock
117
116
{
118
117
'selfie' => 'selfie.png' ,
119
- 'given_names' => 'Given Names' ,
120
- 'family_name' => 'Family Name' ,
118
+ 'full_name' => 'John Doe' ,
119
+ 'given_names' => 'John' ,
120
+ 'family_name' => 'Doe' ,
121
121
'phone_number' => '07474747474' ,
122
122
'email_address' => '[email protected] ' ,
123
123
'date_of_birth' => '2000.12.12' ,
@@ -126,4 +126,12 @@ def raw_info_hash
126
126
'nationality' => 'British'
127
127
}
128
128
end
129
+
130
+ def base64_selfie_uri_mock
131
+ 'data:image/jpeg;base64,/9j/2wCEAAMCAg'
132
+ end
133
+
134
+ def age_verified_mock
135
+ true
136
+ end
129
137
end
0 commit comments