graphql_devise 0.9.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
8
- SimpleCov.start do
9
- add_filter 'spec'
10
- add_filter 'test'
11
- add_filter 'lib/generators'
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.9.2
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-02 00:00:00.000000000 Z
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