graphql_devise 0.9.2 → 0.10.0
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.
- checksums.yaml +4 -4
- data/.travis.yml +9 -2
- data/Appraisals +8 -0
- data/CHANGELOG.md +9 -1
- data/README.md +32 -2
- data/app/graphql/graphql_devise/mutations/sign_up.rb +5 -1
- data/gemfiles/rails6.0_graphql_edge.gemfile +11 -0
- data/lib/graphql_devise/rails/routes.rb +13 -5
- data/lib/graphql_devise/version.rb +1 -1
- data/spec/dummy/app/graphql/mutations/register_confirmed_user.rb +23 -0
- data/spec/dummy/app/graphql/resolvers/public_user.rb +11 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/log/test.log +4075 -0
- data/spec/requests/mutations/additional_mutations_spec.rb +65 -0
- data/spec/requests/mutations/additional_queries_spec.rb +31 -0
- data/spec/spec_helper.rb +10 -7
- metadata +11 -2
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'Additional Mutations' do
|
4
|
+
include_context 'with graphql query request'
|
5
|
+
|
6
|
+
let(:name) { Faker::Name.name }
|
7
|
+
let(:password) { Faker::Internet.password }
|
8
|
+
let(:password_confirmation) { password }
|
9
|
+
let(:email) { Faker::Internet.email }
|
10
|
+
let(:redirect) { Faker::Internet.url }
|
11
|
+
|
12
|
+
context 'when using the user model' do
|
13
|
+
let(:query) do
|
14
|
+
<<-GRAPHQL
|
15
|
+
mutation {
|
16
|
+
registerConfirmedUser(
|
17
|
+
email: "#{email}",
|
18
|
+
name: "#{name}",
|
19
|
+
password: "#{password}",
|
20
|
+
passwordConfirmation: "#{password_confirmation}"
|
21
|
+
) {
|
22
|
+
user {
|
23
|
+
email
|
24
|
+
name
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
GRAPHQL
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'when params are correct' do
|
32
|
+
it 'creates a new resource that is already confirmed' do
|
33
|
+
expect { post_request }.to(
|
34
|
+
change(User, :count).by(1)
|
35
|
+
.and(not_change(ActionMailer::Base.deliveries, :count))
|
36
|
+
)
|
37
|
+
|
38
|
+
user = User.last
|
39
|
+
|
40
|
+
expect(user).to be_confirmed
|
41
|
+
expect(json_response[:data][:registerConfirmedUser]).to include(
|
42
|
+
user: {
|
43
|
+
email: email,
|
44
|
+
name: name
|
45
|
+
}
|
46
|
+
)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context 'when params are incorrect' do
|
51
|
+
let(:password_confirmation) { 'not the same' }
|
52
|
+
|
53
|
+
it 'returns descriptive errors' do
|
54
|
+
expect { post_request }.to not_change(User, :count)
|
55
|
+
|
56
|
+
expect(json_response[:errors]).to contain_exactly(
|
57
|
+
hash_including(
|
58
|
+
message: 'Custom registration failed',
|
59
|
+
extensions: { code: 'USER_ERROR', detailed_errors: ["Password confirmation doesn't match Password"] }
|
60
|
+
)
|
61
|
+
)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'Additional Queries' do
|
4
|
+
include_context 'with graphql query request'
|
5
|
+
|
6
|
+
let(:public_user) { create(:user, :confirmed) }
|
7
|
+
|
8
|
+
context 'when using the user model' do
|
9
|
+
let(:query) do
|
10
|
+
<<-GRAPHQL
|
11
|
+
query {
|
12
|
+
publicUser(
|
13
|
+
id: #{public_user.id}
|
14
|
+
) {
|
15
|
+
email
|
16
|
+
name
|
17
|
+
}
|
18
|
+
}
|
19
|
+
GRAPHQL
|
20
|
+
end
|
21
|
+
|
22
|
+
before { post_request }
|
23
|
+
|
24
|
+
it 'fetches a user by ID' do
|
25
|
+
expect(json_response[:data][:publicUser]).to include(
|
26
|
+
email: public_user.email,
|
27
|
+
name: public_user.name
|
28
|
+
)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
require 'pry'
|
2
2
|
require 'bundler/setup'
|
3
3
|
require 'graphql_devise'
|
4
|
-
require 'simplecov'
|
5
|
-
require 'coveralls'
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
if ENV['CI'] && !ENV['SKIP_COVERALLS']
|
6
|
+
require 'simplecov'
|
7
|
+
require 'coveralls'
|
8
|
+
|
9
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
10
|
+
SimpleCov.start do
|
11
|
+
add_filter 'spec'
|
12
|
+
add_filter 'test'
|
13
|
+
add_filter 'lib/generators'
|
14
|
+
end
|
12
15
|
end
|
13
16
|
|
14
17
|
RSpec.configure do |config|
|
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.
|
4
|
+
version: 0.10.0
|
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-02-
|
12
|
+
date: 2020-02-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: devise_token_auth
|
@@ -313,6 +313,7 @@ files:
|
|
313
313
|
- gemfiles/rails6.0_graphql1.10.gemfile
|
314
314
|
- gemfiles/rails6.0_graphql1.8.gemfile
|
315
315
|
- gemfiles/rails6.0_graphql1.9.gemfile
|
316
|
+
- gemfiles/rails6.0_graphql_edge.gemfile
|
316
317
|
- gemfiles/rails_edge_graphql_edge.gemfile
|
317
318
|
- graphql_devise.gemspec
|
318
319
|
- lib/generators/graphql_devise/install_generator.rb
|
@@ -331,7 +332,9 @@ files:
|
|
331
332
|
- spec/dummy/app/controllers/application_controller.rb
|
332
333
|
- spec/dummy/app/graphql/dummy_schema.rb
|
333
334
|
- spec/dummy/app/graphql/mutations/login.rb
|
335
|
+
- spec/dummy/app/graphql/mutations/register_confirmed_user.rb
|
334
336
|
- spec/dummy/app/graphql/mutations/sign_up.rb
|
337
|
+
- spec/dummy/app/graphql/resolvers/public_user.rb
|
335
338
|
- spec/dummy/app/graphql/resolvers/user_show.rb
|
336
339
|
- spec/dummy/app/graphql/types/base_object.rb
|
337
340
|
- spec/dummy/app/graphql/types/custom_admin_type.rb
|
@@ -393,6 +396,8 @@ files:
|
|
393
396
|
- spec/graphql_devise_spec.rb
|
394
397
|
- spec/models/user_spec.rb
|
395
398
|
- spec/rails_helper.rb
|
399
|
+
- spec/requests/mutations/additional_mutations_spec.rb
|
400
|
+
- spec/requests/mutations/additional_queries_spec.rb
|
396
401
|
- spec/requests/mutations/login_spec.rb
|
397
402
|
- spec/requests/mutations/logout_spec.rb
|
398
403
|
- spec/requests/mutations/resend_confirmation_spec.rb
|
@@ -447,8 +452,10 @@ test_files:
|
|
447
452
|
- spec/dummy/app/graphql/types/query_type.rb
|
448
453
|
- spec/dummy/app/graphql/types/base_object.rb
|
449
454
|
- spec/dummy/app/graphql/types/user_type.rb
|
455
|
+
- spec/dummy/app/graphql/mutations/register_confirmed_user.rb
|
450
456
|
- spec/dummy/app/graphql/mutations/login.rb
|
451
457
|
- spec/dummy/app/graphql/mutations/sign_up.rb
|
458
|
+
- spec/dummy/app/graphql/resolvers/public_user.rb
|
452
459
|
- spec/dummy/app/graphql/resolvers/user_show.rb
|
453
460
|
- spec/dummy/app/graphql/dummy_schema.rb
|
454
461
|
- spec/dummy/app/jobs/application_job.rb
|
@@ -506,6 +513,8 @@ test_files:
|
|
506
513
|
- spec/requests/mutations/logout_spec.rb
|
507
514
|
- spec/requests/mutations/send_password_reset_spec.rb
|
508
515
|
- spec/requests/mutations/update_password_spec.rb
|
516
|
+
- spec/requests/mutations/additional_mutations_spec.rb
|
517
|
+
- spec/requests/mutations/additional_queries_spec.rb
|
509
518
|
- spec/requests/mutations/sign_up_spec.rb
|
510
519
|
- spec/requests/mutations/resend_confirmation_spec.rb
|
511
520
|
- spec/requests/queries/confirm_account_spec.rb
|