wt-rspec-grape 0.1.0 → 0.3.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/README.md +20 -0
- data/lib/rspec/grape/methods.rb +1 -1
- data/lib/rspec/grape/version.rb +1 -1
- data/lib/wt-rspec-grape.rb +4 -2
- data/rspec-grape.gemspec +2 -2
- metadata +15 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d335b8193d4ac649846cc892cefa101024e3cbb12c7c3298fb298e27af479fc3
|
|
4
|
+
data.tar.gz: c93816828f2c1ae7501991dc4d3e69528810d7de728c63dc44f3de8a4ec44ead
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 73bd17120280ce221b3000eb820fba7c4910abfb3e8b7da46c547b50be0e582c6ef51bd0ada045cd3b0023fb815a7923b9a5e9218bcf98aa64fa3e366cbc772e
|
|
7
|
+
data.tar.gz: e7c0d79bdc99367f2d724b917659e3fff3e15b8e2d0d7c17455622d6351a4266c636c0b703b4458d35ee1a3caa998073723904c80bfba3c572b4ed2eb36c86c7
|
data/README.md
CHANGED
|
@@ -50,6 +50,24 @@ Or use a symbol:
|
|
|
50
50
|
describe MyAPI, :api do
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
### Root API
|
|
54
|
+
|
|
55
|
+
By default requests are sent to `described_class`. Since Grape 3.3, mounted APIs no longer inherit helpers, rescue handlers and prefixes from the API they are mounted into, so specs usually need to hit the root API instead. Configure it once in your spec helper:
|
|
56
|
+
|
|
57
|
+
```ruby
|
|
58
|
+
RSpec.configure do |config|
|
|
59
|
+
config.grape_app = API
|
|
60
|
+
end
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Any Rack app works, e.g. `Rails.application`. It can also be overridden per example group with metadata:
|
|
64
|
+
|
|
65
|
+
```ruby
|
|
66
|
+
describe MyAPI, type: :api, grape_app: OtherAPI do
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Defining `app` (or `let(:app)`) in an example group still takes precedence.
|
|
70
|
+
|
|
53
71
|
### Basic usage
|
|
54
72
|
|
|
55
73
|
This gem provides the `call_api` helper method. It automatically reads endpoint url and method from context description, allowing you to avoid duplication and write a shorter spec:
|
|
@@ -81,6 +99,8 @@ expect_endpoint_not_to receive(:dont_help)
|
|
|
81
99
|
|
|
82
100
|
Note that under the hood those methods use `Grape::Endpoint.before_each`, as suggested by [documentation](https://github.com/ruby-grape/grape#stubbing-helpers). Thanks to [Jon Rowe](https://github.com/JonRowe) for the idea.
|
|
83
101
|
|
|
102
|
+
That method lives in `Grape::Testing`, which Grape 4 no longer loads as part of `require 'grape'`. rspec-grape requires `grape/testing` itself, so no extra `require` is needed in your spec helper on either Grape 3.3+ or Grape 4.
|
|
103
|
+
|
|
84
104
|
### Inline parameters
|
|
85
105
|
|
|
86
106
|
When you define some parameters in url like
|
data/lib/rspec/grape/methods.rb
CHANGED
data/lib/rspec/grape/version.rb
CHANGED
data/lib/wt-rspec-grape.rb
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
require 'rspec/core'
|
|
2
2
|
require 'rack/test'
|
|
3
|
+
require 'grape'
|
|
4
|
+
require 'grape/testing'
|
|
3
5
|
|
|
4
6
|
require 'rspec/grape/exceptions'
|
|
5
7
|
require 'rspec/grape/utils'
|
|
6
8
|
require 'rspec/grape/methods'
|
|
7
9
|
|
|
8
10
|
RSpec.configure do |config|
|
|
11
|
+
config.add_setting :grape_app
|
|
12
|
+
|
|
9
13
|
config.include RSpec::Grape::Methods, type: :api
|
|
10
14
|
config.include RSpec::Grape::Methods, :api
|
|
11
15
|
|
|
12
16
|
after = Proc.new do
|
|
13
|
-
# Grape 3.3 moved test hook reset out of `before_each(nil)` into a
|
|
14
|
-
# dedicated `reset_before_each` (Grape::Testing). Requires grape >= 3.3.
|
|
15
17
|
::Grape::Endpoint.reset_before_each
|
|
16
18
|
end
|
|
17
19
|
|
data/rspec-grape.gemspec
CHANGED
|
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
|
|
19
19
|
spec.add_runtime_dependency "rack-test", "~> 2.0"
|
|
20
20
|
spec.add_runtime_dependency "rspec-core", "~> 3.0"
|
|
21
|
+
# 3.3 is the floor for reset_before_each; the gem requires grape at load time.
|
|
22
|
+
spec.add_runtime_dependency "grape", ">= 3.3"
|
|
21
23
|
|
|
22
24
|
spec.add_development_dependency "bundler", "~> 2.0"
|
|
23
25
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
24
26
|
spec.add_development_dependency "rspec"
|
|
25
|
-
# 0.1.0 uses Grape 3.3's reset_before_each; consumers must be on grape >= 3.3.
|
|
26
|
-
spec.add_development_dependency "grape", ">= 3.3"
|
|
27
27
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wt-rspec-grape
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ivan Tarapon
|
|
@@ -37,6 +37,20 @@ dependencies:
|
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
39
|
version: '3.0'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: grape
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '3.3'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '3.3'
|
|
40
54
|
- !ruby/object:Gem::Dependency
|
|
41
55
|
name: bundler
|
|
42
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -79,20 +93,6 @@ dependencies:
|
|
|
79
93
|
- - ">="
|
|
80
94
|
- !ruby/object:Gem::Version
|
|
81
95
|
version: '0'
|
|
82
|
-
- !ruby/object:Gem::Dependency
|
|
83
|
-
name: grape
|
|
84
|
-
requirement: !ruby/object:Gem::Requirement
|
|
85
|
-
requirements:
|
|
86
|
-
- - ">="
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: '3.3'
|
|
89
|
-
type: :development
|
|
90
|
-
prerelease: false
|
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
-
requirements:
|
|
93
|
-
- - ">="
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: '3.3'
|
|
96
96
|
email:
|
|
97
97
|
- ivan.tarapon@wetravel.com
|
|
98
98
|
executables: []
|