rspec-graphql_types 1.0.7 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '09b0fdacbf71641d7232d8aeac7c51556fd1f6eded5cbe40bea812440048c540'
4
- data.tar.gz: 72409dc88357272392b93812455f5a784c8aa9b94d2a5b45864b58095f2052a6
3
+ metadata.gz: f7626ad08971829c0d30d9cb3da3d37bb1af837665d6f8a85e62839fdbf9244c
4
+ data.tar.gz: ba82a2fafe16bb7b4a34490a2dd7d4a18e30c5cba0a14b7182b45f2b59eef64f
5
5
  SHA512:
6
- metadata.gz: 95222c8577212d3c0414af9170a4ee27e4e4ccbdddd9669a35ef0320f3527ecacddf3cee7a540e64a95852b1911072c00bbb0c24c0c37ae05fe726a2d7982887
7
- data.tar.gz: daa82ab33e32698034aa83dc9d44d9033f696ce91239b00624fae970eb3f9daebf570bb6fbd04b98af1b4d80379f9a578cec9aa220453a771f3b97694c8d974f
6
+ metadata.gz: 1afe0021cd87e55334f416c135710ce862f66b34c32d60b24dd01f27f52043b7e7ae633ee6119115c96e7f68fd7c137cf062ec6957e353f85b09c0f1170c51b2
7
+ data.tar.gz: 712531d1948fc3d8ce8cc5807936f2455fec25343a5e56d933e0a934c40cb8e55510edefdf7a5d489af446a1beeece6af1d8a681f36785874ce88d3ddd3fd7d8
data/Gemfile.lock CHANGED
@@ -1,15 +1,16 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-graphql_types (1.0.7)
4
+ rspec-graphql_types (2.0.0)
5
5
  activesupport
6
6
  graphql
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (7.2.1.2)
11
+ activesupport (7.2.2)
12
12
  base64
13
+ benchmark (>= 0.3)
13
14
  bigdecimal
14
15
  concurrent-ruby (~> 1.0, >= 1.3.1)
15
16
  connection_pool (>= 2.2.5)
@@ -20,19 +21,20 @@ GEM
20
21
  securerandom (>= 0.3)
21
22
  tzinfo (~> 2.0, >= 2.0.5)
22
23
  base64 (0.2.0)
23
- bigdecimal (3.1.8)
24
- concurrent-ruby (1.3.4)
25
- connection_pool (2.4.1)
24
+ benchmark (0.4.0)
25
+ bigdecimal (3.1.9)
26
+ concurrent-ruby (1.3.5)
27
+ connection_pool (2.5.0)
26
28
  diff-lcs (1.4.4)
27
29
  drb (2.2.1)
28
30
  fiber-storage (1.0.0)
29
31
  graphql (2.3.19)
30
32
  base64
31
33
  fiber-storage
32
- i18n (1.14.6)
34
+ i18n (1.14.7)
33
35
  concurrent-ruby (~> 1.0)
34
- logger (1.6.1)
35
- minitest (5.25.1)
36
+ logger (1.6.5)
37
+ minitest (5.25.4)
36
38
  rake (13.0.3)
37
39
  rspec (3.10.0)
38
40
  rspec-core (~> 3.10.0)
@@ -47,7 +49,7 @@ GEM
47
49
  diff-lcs (>= 1.2.0, < 2.0)
48
50
  rspec-support (~> 3.10.0)
49
51
  rspec-support (3.10.2)
50
- securerandom (0.3.1)
52
+ securerandom (0.4.1)
51
53
  tzinfo (2.0.6)
52
54
  concurrent-ruby (~> 1.0)
53
55
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rspec
4
4
  module GraphQLTypes
5
- VERSION = "1.0.7"
5
+ VERSION = "2.0.0"
6
6
  end
7
7
  end
@@ -8,11 +8,11 @@ module Rspec
8
8
  module GraphQLTypes
9
9
  extend ActiveSupport::Concern
10
10
 
11
- class TestQuery < ::GraphQL::Query::NullContext::NullQuery
11
+ class TestQuery < ::GraphQL::Query
12
12
  attr_reader :context, :schema, :multiplex
13
13
 
14
14
  def initialize(context:, schema:)
15
- super()
15
+ super(schema, context: context)
16
16
  @context = context
17
17
  @schema = schema
18
18
  @multiplex = false
@@ -27,7 +27,7 @@ module Rspec
27
27
  end
28
28
 
29
29
  def warden
30
- @warden ||= ::GraphQL::Query::NullContext::NullWarden.new(
30
+ @warden ||= ::GraphQL::Schema::Warden.new(
31
31
  ::GraphQL::Filter.new,
32
32
  context: context,
33
33
  schema: schema
@@ -40,7 +40,7 @@ module Rspec
40
40
  let(:schema) { ::GraphQL::VERSION.start_with?("1") ? GraphQLTypes.schema_class.new : GraphQLTypes.schema_class }
41
41
  let(:context) {
42
42
  ::GraphQL::Query::Context.new(
43
- query: TestQuery.new(context: self, schema: schema),
43
+ query: TestQuery.new(context: GraphQL::Query::Context.new(query: nil, values: {}, object: nil, schema: schema), schema: schema),
44
44
  values: context_values,
45
45
  object: nil,
46
46
  schema: schema
@@ -48,6 +48,18 @@ module Rspec
48
48
  }
49
49
  end
50
50
 
51
+ class Configuration
52
+ attr_accessor :graphql_schema
53
+ end
54
+
55
+ def self.configuration
56
+ @configuration ||= Configuration.new
57
+ end
58
+
59
+ def self.configure
60
+ yield configuration
61
+ end
62
+
51
63
  def graphql_object(type, value)
52
64
  if value.nil?
53
65
  raise "Received a nil value for #{type}" if type.non_null?
@@ -94,11 +106,17 @@ module Rspec
94
106
  end
95
107
 
96
108
  def self.schema_class
97
- schemas = ::GraphQL::Schema.subclasses
98
- .filter { |schema| !schema.name.start_with?("GraphQL::") }
99
- .filter { |schema| !schema.name.ends_with?("::SCHEMA") }
100
- raise "Could not find valid schema. Please ensure that GraphQL::Schema.subclasses returns a single schema" unless schemas.length == 1
109
+ return configuration.graphql_schema if configuration.graphql_schema
110
+
111
+ schemas = find_graphql_schema
112
+ raise "Could not find valid schema. Found: #{schemas.join(", ")} Use Rspec::GraphQLTypes.configure to specify the correct schema" unless schemas.length == 1
101
113
  schemas.first
102
114
  end
115
+
116
+ def self.find_graphql_schema
117
+ ::GraphQL::Schema.subclasses
118
+ .filter { |schema| !schema.name&.start_with?("GraphQL::") }
119
+ .filter { |schema| !schema.name&.end_with?("::SCHEMA") }
120
+ end
103
121
  end
104
122
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-graphql_types
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tejas Dinkar
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-10-30 00:00:00.000000000 Z
11
+ date: 2025-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport