graphql_devise 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,12 +6,13 @@ RSpec.describe 'Login Requests' do
6
6
  let(:password) { '12345678' }
7
7
 
8
8
  context 'when using the user model' do
9
- let(:user) { create(:user, :confirmed, password: password) }
9
+ let!(:user) { create(:user, :confirmed, password: password, email: 'vvega@wallaceinc.com') }
10
+ let(:email) { user.email }
10
11
  let(:query) do
11
12
  <<-GRAPHQL
12
13
  mutation {
13
14
  userLogin(
14
- email: "#{user.email}",
15
+ email: "#{email}",
15
16
  password: "#{password}"
16
17
  ) {
17
18
  user { email name signInCount }
@@ -40,6 +41,17 @@ RSpec.describe 'Login Requests' do
40
41
  )
41
42
  expect(json_response[:errors]).to be_nil
42
43
  end
44
+
45
+ context 'when email address uses different casing' do
46
+ let(:email) { 'vVeGa@wallaceinc.com' }
47
+
48
+ it 'honors devise configuration for case insensitive fields' do
49
+ expect(response).to include_auth_headers
50
+ expect(json_response[:data][:userLogin]).to include(
51
+ user: { email: user.email, name: user.name, signInCount: 1 }
52
+ )
53
+ end
54
+ end
43
55
  end
44
56
 
45
57
  context 'when credentials are invalid' do
@@ -3,7 +3,7 @@ require 'rails_helper'
3
3
  RSpec.describe 'Resend confirmation' do
4
4
  include_context 'with graphql query request'
5
5
 
6
- let(:user) { create(:user, confirmed_at: nil) }
6
+ let!(:user) { create(:user, confirmed_at: nil, email: 'mwallace@wallaceinc.com') }
7
7
  let(:email) { user.email }
8
8
  let(:id) { user.id }
9
9
  let(:redirect) { Faker::Internet.url }
@@ -28,20 +28,20 @@ RSpec.describe 'Resend confirmation' do
28
28
  it 'sends an email to the user with confirmation url and returns a success message' do
29
29
  expect { post_request }.to change(ActionMailer::Base.deliveries, :count).by(1)
30
30
  expect(json_response[:data][:userResendConfirmation]).to include(
31
+ message: 'You will receive an email with instructions for how to confirm your email address in a few minutes.',
31
32
  authenticatable: {
32
- id: id,
33
+ id: id,
33
34
  email: email
34
- },
35
- message: "You will receive an email with instructions for how to confirm your email address in a few minutes."
35
+ }
36
36
  )
37
-
37
+
38
38
  email = Nokogiri::HTML(ActionMailer::Base.deliveries.last.body.encoded)
39
39
  link = email.css('a').first
40
40
  confirm_link_msg_text = email.css('p')[1].inner_html
41
41
  confirm_account_link_text = link.inner_html
42
42
 
43
- expect(confirm_link_msg_text).to eq("You can confirm your account email through the link below:")
44
- expect(confirm_account_link_text).to eq("Confirm my account")
43
+ expect(confirm_link_msg_text).to eq('You can confirm your account email through the link below:')
44
+ expect(confirm_account_link_text).to eq('Confirm my account')
45
45
 
46
46
  # TODO: Move to feature spec
47
47
  expect do
@@ -50,6 +50,21 @@ RSpec.describe 'Resend confirmation' do
50
50
  end.to change(user, :confirmed_at).from(NilClass).to(ActiveSupport::TimeWithZone)
51
51
  end
52
52
 
53
+ context 'when email address uses different casing' do
54
+ let(:email) { 'mWallace@wallaceinc.com' }
55
+
56
+ it 'honors devise configuration for case insensitive fields' do
57
+ expect { post_request }.to change(ActionMailer::Base.deliveries, :count).by(1)
58
+ expect(json_response[:data][:userResendConfirmation]).to include(
59
+ message: 'You will receive an email with instructions for how to confirm your email address in a few minutes.',
60
+ authenticatable: {
61
+ id: id,
62
+ email: user.email
63
+ }
64
+ )
65
+ end
66
+ end
67
+
53
68
  context 'when the user has already been confirmed' do
54
69
  before { user.confirm }
55
70
 
@@ -58,7 +73,7 @@ RSpec.describe 'Resend confirmation' do
58
73
  expect(json_response[:data][:userResendConfirmation]).to be_nil
59
74
  expect(json_response[:errors]).to contain_exactly(
60
75
  hash_including(
61
- message: "Email was already confirmed, please try signing in",
76
+ message: 'Email was already confirmed, please try signing in',
62
77
  extensions: { code: 'USER_ERROR' }
63
78
  )
64
79
  )
@@ -74,7 +89,7 @@ RSpec.describe 'Resend confirmation' do
74
89
  expect(json_response[:data][:userResendConfirmation]).to be_nil
75
90
  expect(json_response[:errors]).to contain_exactly(
76
91
  hash_including(
77
- message: "Unable to find user with email '#{email}'.",
92
+ message: "Unable to find user with email '#{email}'.",
78
93
  extensions: { code: 'USER_ERROR' }
79
94
  )
80
95
  )
@@ -3,7 +3,7 @@ require 'rails_helper'
3
3
  RSpec.describe 'Send Password Reset Requests' do
4
4
  include_context 'with graphql query request'
5
5
 
6
- let(:user) { create(:user, :confirmed) }
6
+ let!(:user) { create(:user, :confirmed, email: 'jwinnfield@wallaceinc.com') }
7
7
  let(:email) { user.email }
8
8
  let(:redirect_url) { Faker::Internet.url }
9
9
  let(:query) do
@@ -36,6 +36,14 @@ RSpec.describe 'Send Password Reset Requests' do
36
36
  end
37
37
  end
38
38
 
39
+ context 'when email address uses different casing' do
40
+ let(:email) { 'jWinnfield@wallaceinc.com' }
41
+
42
+ it 'honors devise configuration for case insensitive fields' do
43
+ expect { post_request }.to change(ActionMailer::Base.deliveries, :count).by(1)
44
+ end
45
+ end
46
+
39
47
  context 'when user email is not found' do
40
48
  let(:email) { 'nothere@gmail.com' }
41
49
 
@@ -55,6 +55,16 @@ RSpec.describe 'Sign Up process' do
55
55
  user.reload
56
56
  end.to change { user.active_for_authentication? }.to(true)
57
57
  end
58
+
59
+ context 'when email address uses different casing' do
60
+ let(:email) { 'miaWallace@wallaceinc.com' }
61
+
62
+ it 'honors devise configuration for case insensitive fields' do
63
+ expect { post_request }.to change(ActionMailer::Base.deliveries, :count).by(1)
64
+ expect(User.last.email).to eq('miawallace@wallaceinc.com')
65
+ expect(json_response[:data][:userSignUp]).to include(user: { email: 'miawallace@wallaceinc.com', name: name })
66
+ end
67
+ end
58
68
  end
59
69
 
60
70
  context 'when required params are missing' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql_devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Celi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-04-11 00:00:00.000000000 Z
12
+ date: 2020-05-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: devise_token_auth
@@ -273,7 +273,6 @@ files:
273
273
  - app/controllers/graphql_devise/application_controller.rb
274
274
  - app/controllers/graphql_devise/concerns/set_user_by_token.rb
275
275
  - app/controllers/graphql_devise/graphql_controller.rb
276
- - app/graphql/graphql_devise/schema.rb
277
276
  - app/helpers/graphql_devise/application_helper.rb
278
277
  - app/helpers/graphql_devise/mailer_helper.rb
279
278
  - app/models/graphql_devise/concerns/model.rb
@@ -284,6 +283,7 @@ files:
284
283
  - bin/rails
285
284
  - bin/setup
286
285
  - config/locales/en.yml
286
+ - config/routes.rb
287
287
  - graphql_devise.gemspec
288
288
  - lib/generators/graphql_devise/install_generator.rb
289
289
  - lib/graphql_devise.rb
@@ -323,6 +323,7 @@ files:
323
323
  - lib/graphql_devise/resolvers/check_password_token.rb
324
324
  - lib/graphql_devise/resolvers/confirm_account.rb
325
325
  - lib/graphql_devise/resolvers/dummy.rb
326
+ - lib/graphql_devise/schema.rb
326
327
  - lib/graphql_devise/types/authenticatable_type.rb
327
328
  - lib/graphql_devise/types/credential_type.rb
328
329
  - lib/graphql_devise/types/mutation_type.rb