rspec-graphql_matchers 1.1 → 1.3.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.
- checksums.yaml +4 -4
- data/.github/workflows/rspec.yml +41 -0
- data/.rubocop.yml +12 -15
- data/CHANGELOG.md +12 -4
- data/Gemfile +4 -0
- data/README.md +54 -3
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/lib/rspec/graphql_matchers/accept_argument.rb +8 -2
- data/lib/rspec/graphql_matchers/accept_arguments.rb +4 -0
- data/lib/rspec/graphql_matchers/base_matcher.rb +2 -0
- data/lib/rspec/graphql_matchers/have_a_field.rb +21 -5
- data/lib/rspec/graphql_matchers/have_a_field_matchers/of_type.rb +2 -0
- data/lib/rspec/graphql_matchers/have_a_field_matchers/with_deprecation_reason.rb +36 -0
- data/lib/rspec/graphql_matchers/have_a_field_matchers/with_hash_key.rb +2 -0
- data/lib/rspec/graphql_matchers/have_a_field_matchers/with_metadata.rb +2 -0
- data/lib/rspec/graphql_matchers/have_a_field_matchers/with_property.rb +2 -0
- data/lib/rspec/graphql_matchers/implement.rb +3 -1
- data/lib/rspec/graphql_matchers/matchers.rb +5 -2
- data/lib/rspec/graphql_matchers/types_helper.rb +2 -0
- data/lib/rspec/graphql_matchers/version.rb +1 -1
- data/lib/rspec/graphql_matchers.rb +2 -0
- data/rspec-graphql_matchers.gemspec +6 -4
- metadata +31 -17
- data/.travis.yml +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfc59ebc6b348aeab1defdb0057751774ea69653260195b26e9a95363f86430a
|
4
|
+
data.tar.gz: a23a3d725d3e0f2fa8136f7ab9b74efeb411a6e3d0e36e683ae5e99268bb08c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcd1bd614c785d6f2d5aee1a444c28af584ebf518ecce0706bb7949bc8eb3a0994ddfae953b9b3a3ceecf8a3110df2d91ff0e3dd11756aa3065a9fd9520d9ed3
|
7
|
+
data.tar.gz: e3783cc55413014249911495625eb5f01efef58a5fe3acd9991d0d1a10bad45448a03d63d74ef778819003ee703ddabc936910b71c43ced6d6596bf92db17cbf
|
@@ -0,0 +1,41 @@
|
|
1
|
+
name: RSpec
|
2
|
+
|
3
|
+
# Controls when the action will run. Triggers the workflow on push or pull request
|
4
|
+
# events but only for the master branch
|
5
|
+
on: [ push, pull_request ]
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
# This workflow contains a single job "rspec"
|
9
|
+
rspec:
|
10
|
+
# The type of runner that the job will run on
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
|
13
|
+
strategy:
|
14
|
+
matrix:
|
15
|
+
ruby_version: [ 2.6, 2.7, 3.0 ]
|
16
|
+
|
17
|
+
# Steps represent a sequence of tasks that will be executed as part of the job
|
18
|
+
steps:
|
19
|
+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
20
|
+
- uses: actions/checkout@v2
|
21
|
+
|
22
|
+
- name: Set up Ruby ${{ matrix.ruby_version }}
|
23
|
+
uses: ruby/setup-ruby@v1
|
24
|
+
with:
|
25
|
+
ruby-version: ${{ matrix.ruby_version }}
|
26
|
+
|
27
|
+
- name: Install gems
|
28
|
+
run: |
|
29
|
+
bundle config path vendor/bundle
|
30
|
+
bundle install --jobs 4 --retry 3
|
31
|
+
|
32
|
+
- name: Cache gems
|
33
|
+
uses: actions/cache@v1
|
34
|
+
with:
|
35
|
+
path: vendor/bundle
|
36
|
+
key: ${{ runner.os }}-${{ matrix.ruby_version }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
37
|
+
restore-keys: |
|
38
|
+
${{ runner.os }}-${{ matrix.ruby_version }}-gems-
|
39
|
+
|
40
|
+
- name: Run RSpec
|
41
|
+
run: bundle exec rspec
|
data/.rubocop.yml
CHANGED
@@ -2,31 +2,28 @@ AllCops:
|
|
2
2
|
DisplayCopNames: true
|
3
3
|
DisplayStyleGuide: true
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
Layout/AlignParameters:
|
6
|
+
EnforcedStyle: with_fixed_indentation
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
Metrics/LineLength:
|
9
|
+
Max: 90
|
10
10
|
|
11
|
-
|
11
|
+
Layout/MultilineMethodCallIndentation:
|
12
12
|
EnforcedStyle: indented
|
13
13
|
|
14
|
-
|
15
|
-
EnforcedStyle: with_fixed_indentation
|
16
|
-
|
17
|
-
Style/ClassAndModuleChildren:
|
18
|
-
Enabled: false
|
19
|
-
|
20
|
-
Style/SpaceBeforeFirstArg:
|
14
|
+
Layout/SpaceBeforeFirstArg:
|
21
15
|
Include:
|
22
16
|
- db/migrate/*.rb
|
23
17
|
Enabled: false
|
24
18
|
|
25
|
-
Style/
|
19
|
+
Style/Documentation:
|
26
20
|
Enabled: false
|
27
21
|
|
28
|
-
|
29
|
-
|
22
|
+
Style/ClassAndModuleChildren:
|
23
|
+
Enabled: true
|
24
|
+
|
25
|
+
Style/Lambda:
|
26
|
+
Enabled: false
|
30
27
|
|
31
28
|
Metrics/MethodLength:
|
32
29
|
Max: 15
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,20 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
|
3
|
+
## 1.3.1 (Aug 2nd, 2021)
|
4
|
+
- Corrected gem dependencies so it properly requires RSpec when loaded (thanks to @itay-grudev)
|
4
5
|
|
5
|
-
|
6
|
+
## 1.3.0 (May 7th, 2020)
|
6
7
|
|
7
|
-
|
8
|
+
- `accept_argument` matcher accepts underscored argument names and passes even if the actual argument is camel-cased (https://github.com/khamusa/rspec-graphql_matchers/pull/32 thanks to @TonyArra);
|
9
|
+
- `have_a_field` matcher accepts `.with_deprecation_reason` (https://github.com/khamusa/rspec-graphql_matchers/pull/34 thanks to @TonyArra).
|
8
10
|
|
9
|
-
|
11
|
+
## 1.2.1 (March 31st, 2020)
|
12
|
+
|
13
|
+
- Fixed issue causing the last release to break expectations against snake_cased fields (fixes https://github.com/khamusa/rspec-graphql_matchers/issues/30).
|
14
|
+
|
15
|
+
## 1.2 (Feb 6th, 2020)
|
16
|
+
|
17
|
+
- Added support to underscored arguments in have_field (https://github.com/khamusa/rspec-graphql_matchers/pull/29 thanks to @makketagg)
|
10
18
|
|
11
19
|
## 1.1 (Sep 19th, 2019)
|
12
20
|
|
data/Gemfile
CHANGED
@@ -1,10 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
# Specify your gem's dependencies in rspec-graphql_matchers.gemspec
|
4
6
|
gemspec
|
5
7
|
|
8
|
+
# rubocop:disable Bundle/DuplicatedGem
|
6
9
|
if ENV['GRAPHQL_GEM_VERSION'] == '1.8'
|
7
10
|
gem 'graphql', '~> 1.8.0'
|
8
11
|
elsif ENV['GRAPHQL_GEM_VERSION'] == '1.9'
|
9
12
|
gem 'graphql', '~> 1.9.0'
|
10
13
|
end
|
14
|
+
# rubocop:enable Bundle/DuplicatedGem
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-

|
2
2
|
|
3
3
|
# Rspec::GraphqlMatchers
|
4
4
|
|
@@ -46,10 +46,12 @@ class PostType < GraphQL::Schema::Object
|
|
46
46
|
field :id, ID, null: false
|
47
47
|
field :comments, [String], null: false
|
48
48
|
field :isPublished, Boolean, null: true
|
49
|
+
field :published, Boolean, null: false, deprecation_reason: 'Use isPublished instead'
|
49
50
|
|
50
51
|
field :subposts, PostType, null: true do
|
51
52
|
argument :filter, types.String, required: false
|
52
53
|
argument :id, types.ID, required: false
|
54
|
+
argument :isPublished, types.Boolean, required: false
|
53
55
|
end
|
54
56
|
end
|
55
57
|
```
|
@@ -63,6 +65,16 @@ describe PostType do
|
|
63
65
|
it { is_expected.to have_field(:id).of_type(!types.ID) }
|
64
66
|
it { is_expected.to have_field(:comments).of_type("[String!]!") }
|
65
67
|
it { is_expected.to have_field(:isPublished).of_type("Boolean") }
|
68
|
+
|
69
|
+
# Check a field is deprecated
|
70
|
+
it { is_expected.to have_field(:published).with_deprecation_reason }
|
71
|
+
it { is_expected.to have_field(:published).with_deprecation_reason('Use isPublished instead') }
|
72
|
+
it { is_expected.not_to have_field(:published).with_deprecation_reason('Wrong reason') }
|
73
|
+
it { is_expected.not_to have_field(:isPublished).with_deprecation_reason }
|
74
|
+
|
75
|
+
# The gem automatically converts field names to CamelCase, so this will
|
76
|
+
# pass even though the field was defined as field :isPublished
|
77
|
+
it { is_expected.to have_field(:is_published).of_type("Boolean") }
|
66
78
|
end
|
67
79
|
```
|
68
80
|
|
@@ -118,6 +130,10 @@ describe PostType do
|
|
118
130
|
end
|
119
131
|
|
120
132
|
it { is_expected.not_to accept_argument(:weirdo) }
|
133
|
+
|
134
|
+
# The gem automatically converts argument names to CamelCase, so this will
|
135
|
+
# pass even though the argument was defined as :isPublished
|
136
|
+
it { is_expected.to accept_argument(:is_published).of_type("Boolean") }
|
121
137
|
end
|
122
138
|
end
|
123
139
|
```
|
@@ -138,10 +154,45 @@ describe PostType do
|
|
138
154
|
end
|
139
155
|
```
|
140
156
|
|
157
|
+
### 6) Using camelize: false on field names
|
158
|
+
|
159
|
+
By default the graphql gem camelizes field names. This gem deals with it transparently:
|
160
|
+
|
161
|
+
```ruby
|
162
|
+
class ObjectMessingWithCamelsAndSnakesType < GraphQL::Schema::Object
|
163
|
+
graphql_name 'ObjectMessingWithCamelsAndSnakes'
|
164
|
+
|
165
|
+
implements GraphQL::Relay::Node.interface
|
166
|
+
|
167
|
+
field :me_gusta_los_camellos, ID, null: false
|
168
|
+
|
169
|
+
# note the camelize: false
|
170
|
+
field :prefiero_serpientes, ID, null: false, camelize: false
|
171
|
+
end
|
172
|
+
```
|
173
|
+
|
174
|
+
The following specs demonstrate the current behavior of the gem regarding fields:
|
175
|
+
|
176
|
+
```ruby
|
177
|
+
describe ObjectMessingWithCamelsAndSnakesType do
|
178
|
+
subject { described_class }
|
179
|
+
|
180
|
+
# For a field name that was automatically camelized, you can add expectations
|
181
|
+
# against both versions and we handle it transparently:
|
182
|
+
it { is_expected.to have_a_field(:meGustaLosCamellos) }
|
183
|
+
it { is_expected.to have_a_field(:me_gusta_los_camellos) }
|
184
|
+
|
185
|
+
# However, when using camelize: false, you have to use the exact case of the field definition:
|
186
|
+
it { is_expected.to have_a_field(:prefiero_serpientes) }
|
187
|
+
it { is_expected.not_to have_a_field(:prefieroSerpientes) } # Note we're using `not_to`
|
188
|
+
end
|
189
|
+
```
|
190
|
+
|
191
|
+
This behaviour is currently active only on field name matching. PRs are welcome to
|
192
|
+
reproduce it to arguments as well.
|
193
|
+
|
141
194
|
## TODO
|
142
195
|
|
143
|
-
- Support GraphQL 1.9.x;
|
144
|
-
- Check the method used for resolving a field;
|
145
196
|
- New matchers!
|
146
197
|
|
147
198
|
## Contributing
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'base_matcher'
|
2
4
|
require_relative './have_a_field_matchers/of_type'
|
3
5
|
|
@@ -17,16 +19,20 @@ module RSpec
|
|
17
19
|
end
|
18
20
|
|
19
21
|
@expected_arg_name = expected_arg_name.to_s
|
22
|
+
@expected_camel_arg_name = GraphQL::Schema::Member::BuildType.camelize(
|
23
|
+
@expected_arg_name
|
24
|
+
)
|
20
25
|
end
|
21
26
|
|
22
27
|
def matches?(graph_object)
|
23
28
|
@graph_object = graph_object
|
24
29
|
|
25
30
|
@actual_argument = field_arguments[@expected_arg_name]
|
31
|
+
@actual_argument ||= field_arguments[@expected_camel_arg_name]
|
26
32
|
return false if @actual_argument.nil?
|
27
33
|
|
28
|
-
@results = @expectations.
|
29
|
-
|
34
|
+
@results = @expectations.reject do |matcher|
|
35
|
+
matcher.matches?(@actual_argument)
|
30
36
|
end
|
31
37
|
|
32
38
|
@results.empty?
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'base_matcher'
|
2
4
|
|
3
5
|
module RSpec
|
@@ -29,7 +31,9 @@ module RSpec
|
|
29
31
|
private
|
30
32
|
|
31
33
|
def matches_argument?(arg_name, arg_type)
|
34
|
+
camel_arg_name = GraphQL::Schema::Member::BuildType.camelize(arg_name.to_s)
|
32
35
|
actual_arg = actual_field.arguments[arg_name.to_s]
|
36
|
+
actual_arg ||= actual_field.arguments[camel_arg_name]
|
33
37
|
|
34
38
|
actual_arg && types_match?(actual_arg.type, arg_type)
|
35
39
|
end
|
@@ -5,12 +5,16 @@ require_relative './have_a_field_matchers/of_type'
|
|
5
5
|
require_relative './have_a_field_matchers/with_property'
|
6
6
|
require_relative './have_a_field_matchers/with_metadata'
|
7
7
|
require_relative './have_a_field_matchers/with_hash_key'
|
8
|
+
require_relative './have_a_field_matchers/with_deprecation_reason'
|
8
9
|
|
9
10
|
module RSpec
|
10
11
|
module GraphqlMatchers
|
11
12
|
class HaveAField < BaseMatcher
|
12
13
|
def initialize(expected_field_name, fields = :fields)
|
13
14
|
@expected_field_name = expected_field_name.to_s
|
15
|
+
@expected_camel_field_name = GraphQL::Schema::Member::BuildType.camelize(
|
16
|
+
@expected_field_name
|
17
|
+
)
|
14
18
|
@fields = fields.to_sym
|
15
19
|
@expectations = []
|
16
20
|
end
|
@@ -18,12 +22,10 @@ module RSpec
|
|
18
22
|
def matches?(graph_object)
|
19
23
|
@graph_object = graph_object
|
20
24
|
|
21
|
-
|
22
|
-
@actual_field = @actual_field.to_graphql if @actual_field.respond_to?(:to_graphql)
|
23
|
-
return false if @actual_field.nil?
|
25
|
+
return false if actual_field.nil?
|
24
26
|
|
25
27
|
@results = @expectations.reject do |matcher|
|
26
|
-
matcher.matches?(
|
28
|
+
matcher.matches?(actual_field)
|
27
29
|
end
|
28
30
|
|
29
31
|
@results.empty?
|
@@ -53,11 +55,16 @@ module RSpec
|
|
53
55
|
self
|
54
56
|
end
|
55
57
|
|
58
|
+
def with_deprecation_reason(expected_reason = nil)
|
59
|
+
@expectations << HaveAFieldMatchers::WithDeprecationReason.new(expected_reason)
|
60
|
+
self
|
61
|
+
end
|
62
|
+
|
56
63
|
def failure_message
|
57
64
|
base_msg = "expected #{member_name(@graph_object)} " \
|
58
65
|
"to define field `#{@expected_field_name}`" \
|
59
66
|
|
60
|
-
return "#{base_msg} #{failure_messages.join(', ')}" if
|
67
|
+
return "#{base_msg} #{failure_messages.join(', ')}" if actual_field
|
61
68
|
|
62
69
|
"#{base_msg} but no field was found with that name"
|
63
70
|
end
|
@@ -68,6 +75,15 @@ module RSpec
|
|
68
75
|
|
69
76
|
private
|
70
77
|
|
78
|
+
def actual_field
|
79
|
+
@actual_field ||= begin
|
80
|
+
field = field_collection[@expected_field_name]
|
81
|
+
field ||= field_collection[@expected_camel_field_name]
|
82
|
+
|
83
|
+
field.respond_to?(:to_graphql) ? field.to_graphql : field
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
71
87
|
def descriptions
|
72
88
|
@results.map(&:description)
|
73
89
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RSpec
|
4
|
+
module GraphqlMatchers
|
5
|
+
module HaveAFieldMatchers
|
6
|
+
class WithDeprecationReason
|
7
|
+
def initialize(expected_reason)
|
8
|
+
@expected_reason = expected_reason
|
9
|
+
end
|
10
|
+
|
11
|
+
def matches?(actual_field)
|
12
|
+
@actual_reason = actual_field.deprecation_reason
|
13
|
+
|
14
|
+
if @expected_reason.nil?
|
15
|
+
!actual_field.deprecation_reason.nil?
|
16
|
+
else
|
17
|
+
actual_field.deprecation_reason == @expected_reason
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def failure_message
|
22
|
+
message = "#{description}, but it was "
|
23
|
+
message + (@actual_reason.nil? ? 'not deprecated' : "`#{@actual_reason}`")
|
24
|
+
end
|
25
|
+
|
26
|
+
def description
|
27
|
+
if @expected_reason.nil?
|
28
|
+
'with a deprecation reason'
|
29
|
+
else
|
30
|
+
"with deprecation reason `#{@expected_reason}`"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'base_matcher'
|
2
4
|
|
3
5
|
module RSpec
|
4
6
|
module GraphqlMatchers
|
5
7
|
class Implement < BaseMatcher
|
6
8
|
def initialize(interfaces)
|
7
|
-
@expected = interfaces.map {|interface| interface_name(interface) }
|
9
|
+
@expected = interfaces.map { |interface| interface_name(interface) }
|
8
10
|
end
|
9
11
|
|
10
12
|
def matches?(graph_object)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rspec/matchers'
|
2
4
|
require 'rspec/graphql_matchers/be_of_type'
|
3
5
|
require 'rspec/graphql_matchers/accept_arguments'
|
@@ -13,13 +15,13 @@ module RSpec
|
|
13
15
|
|
14
16
|
def accept_argument(expected_argument)
|
15
17
|
RSpec::GraphqlMatchers::AcceptArgument.new(expected_argument)
|
16
|
-
|
18
|
+
end
|
17
19
|
|
18
20
|
def accept_arguments(expected_args)
|
19
21
|
RSpec::GraphqlMatchers::AcceptArguments.new(expected_args)
|
20
22
|
end
|
21
23
|
|
22
|
-
# rubocop:disable
|
24
|
+
# rubocop:disable Naming/PredicateName
|
23
25
|
def have_a_field(field_name)
|
24
26
|
RSpec::GraphqlMatchers::HaveAField.new(field_name)
|
25
27
|
end
|
@@ -34,6 +36,7 @@ module RSpec
|
|
34
36
|
RSpec::GraphqlMatchers::HaveAField.new(field_name, :return_fields)
|
35
37
|
end
|
36
38
|
alias have_return_field have_a_return_field
|
39
|
+
# rubocop:enable Naming/PredicateName
|
37
40
|
|
38
41
|
def implement(*interface_names)
|
39
42
|
RSpec::GraphqlMatchers::Implement.new(interface_names.flatten)
|
@@ -25,9 +25,11 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
26
26
|
spec.require_paths = ['lib']
|
27
27
|
|
28
|
-
spec.
|
29
|
-
spec.
|
30
|
-
spec.add_development_dependency '
|
31
|
-
|
28
|
+
spec.add_dependency 'graphql', '>= 1.8', '< 2.0'
|
29
|
+
spec.add_dependency 'rspec', '~> 3.0'
|
30
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
31
|
+
# CodeClimate does not yet support SimpleCov 0.18
|
32
|
+
spec.add_development_dependency 'simplecov', '~>0.17.0'
|
32
33
|
spec.add_development_dependency 'pry', '~> 0'
|
34
|
+
spec.add_development_dependency 'rubocop', '0.71'
|
33
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-graphql_matchers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Brandão
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: graphql
|
@@ -31,47 +31,47 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '2.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: rspec
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
40
|
-
type: :
|
39
|
+
version: '3.0'
|
40
|
+
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '3.0'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0
|
53
|
+
version: '2.0'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0
|
60
|
+
version: '2.0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
62
|
+
name: simplecov
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version:
|
67
|
+
version: 0.17.0
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
74
|
+
version: 0.17.0
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: pry
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,6 +86,20 @@ dependencies:
|
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rubocop
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - '='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0.71'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - '='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0.71'
|
89
103
|
description:
|
90
104
|
email:
|
91
105
|
- gb.samuel@gmail.com
|
@@ -95,10 +109,10 @@ extra_rdoc_files: []
|
|
95
109
|
files:
|
96
110
|
- ".codeclimate.yml"
|
97
111
|
- ".editorconfig"
|
112
|
+
- ".github/workflows/rspec.yml"
|
98
113
|
- ".gitignore"
|
99
114
|
- ".rspec"
|
100
115
|
- ".rubocop.yml"
|
101
|
-
- ".travis.yml"
|
102
116
|
- CHANGELOG.md
|
103
117
|
- CODE_OF_CONDUCT.md
|
104
118
|
- Gemfile
|
@@ -114,6 +128,7 @@ files:
|
|
114
128
|
- lib/rspec/graphql_matchers/be_of_type.rb
|
115
129
|
- lib/rspec/graphql_matchers/have_a_field.rb
|
116
130
|
- lib/rspec/graphql_matchers/have_a_field_matchers/of_type.rb
|
131
|
+
- lib/rspec/graphql_matchers/have_a_field_matchers/with_deprecation_reason.rb
|
117
132
|
- lib/rspec/graphql_matchers/have_a_field_matchers/with_hash_key.rb
|
118
133
|
- lib/rspec/graphql_matchers/have_a_field_matchers/with_metadata.rb
|
119
134
|
- lib/rspec/graphql_matchers/have_a_field_matchers/with_property.rb
|
@@ -141,8 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
156
|
- !ruby/object:Gem::Version
|
142
157
|
version: '0'
|
143
158
|
requirements: []
|
144
|
-
|
145
|
-
rubygems_version: 2.7.8
|
159
|
+
rubygems_version: 3.2.5
|
146
160
|
signing_key:
|
147
161
|
specification_version: 4
|
148
162
|
summary: Collection of rspec matchers to test your graphQL api schema.
|
data/.travis.yml
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
sudo: false
|
2
|
-
language: ruby
|
3
|
-
rvm:
|
4
|
-
- 2.3.1
|
5
|
-
before_install: gem install bundler -v 1.12.3
|
6
|
-
script: bundle exec rspec
|
7
|
-
matrix:
|
8
|
-
include:
|
9
|
-
- name: "GraphQL 1.9.x"
|
10
|
-
env: GRAPHQL_GEM_VERSION=1.9
|
11
|
-
- name: "GraphQL 1.8.x"
|
12
|
-
env: GRAPHQL_GEM_VERSION=1.8
|