cucumber-rest-bdd 0.5.3 → 0.6.0.pre.183
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/cucumber-rest-bdd/data.rb +52 -0
- data/lib/cucumber-rest-bdd/level.rb +8 -3
- data/lib/cucumber-rest-bdd/list.rb +144 -0
- data/lib/cucumber-rest-bdd/steps/functional.rb +6 -11
- data/lib/cucumber-rest-bdd/steps/resource.rb +36 -43
- data/lib/cucumber-rest-bdd/steps/response.rb +107 -132
- data/lib/cucumber-rest-bdd/steps/status.rb +54 -15
- data/lib/cucumber-rest-bdd/types.rb +129 -83
- data/lib/cucumber-rest-bdd/url.rb +4 -1
- metadata +33 -31
- data/.gitignore +0 -50
- data/.travis.yml +0 -23
- data/Dockerfile +0 -24
- data/LICENSE +0 -21
- data/Makefile +0 -15
- data/README.md +0 -338
- data/STEPS.md +0 -257
- data/cucumber-rest-bdd.gemspec +0 -19
- data/docker-compose.yml +0 -23
- data/features/errors.feature +0 -23
- data/features/functional.feature +0 -25
- data/features/grabs.feature +0 -21
- data/features/headers.feature +0 -16
- data/features/levels.feature +0 -121
- data/features/methods.feature +0 -101
- data/features/response.feature +0 -103
- data/features/status.feature +0 -18
- data/features/support/env.rb +0 -2
- data/features/types.feature +0 -48
- data/server/db.json +0 -41044
- data/server/error.js +0 -14
- data/server/routes.json +0 -5
data/STEPS.md
DELETED
@@ -1,257 +0,0 @@
|
|
1
|
-
# Gherkin Steps
|
2
|
-
|
3
|
-
This test suite introduces behavioural test steps on top of functional REST API steps from [cucumber-api](https://github.com/hidroh/cucumber-api)
|
4
|
-
|
5
|
-
The following is a list of steps, and their equivalent functional step
|
6
|
-
|
7
|
-
## Setup
|
8
|
-
|
9
|
-
```
|
10
|
-
Behavioural Functional
|
11
|
-
--------------------------------------------------- --------------------------------------------------------------
|
12
|
-
Given I am a client Given I send and accept JSON
|
13
|
-
```
|
14
|
-
|
15
|
-
## Retrieval
|
16
|
-
|
17
|
-
```
|
18
|
-
Behavioural Functional
|
19
|
-
--------------------------------------------------- --------------------------------------------------------------
|
20
|
-
When I request an item "2" When I send a GET request to "http://url/items/2"
|
21
|
-
|
22
|
-
When I request a list of items When I send a GET request to "http://url/items"
|
23
|
-
|
24
|
-
When I request a list of items with: When I send a GET request to "http://url/items" with:
|
25
|
-
| User Id | 12 | | userId |
|
26
|
-
| 12 |
|
27
|
-
```
|
28
|
-
|
29
|
-
## Creation
|
30
|
-
|
31
|
-
```
|
32
|
-
Behavioural Functional
|
33
|
-
--------------------------------------------------- --------------------------------------------------------------
|
34
|
-
When I request to create an item When I send a POST request to "http://url/items"
|
35
|
-
|
36
|
-
When I request to create an item with: When I set JSON request body to:
|
37
|
-
| attribute | type | value | """
|
38
|
-
| User Id | integer | 12 | {"userId":12,"title":"foo"}
|
39
|
-
| Title | string | foo | """
|
40
|
-
And I send a POST request to "http://url/items"
|
41
|
-
|
42
|
-
When I request to create an item with id "4" When I send a PUT request to "http://url/items/4"
|
43
|
-
|
44
|
-
When I request to replace the item "4" with: When I set JSON request body to:
|
45
|
-
| attribute | type | value | """
|
46
|
-
| User Id | integer | 7 | {"userId":7,"title":"foo"}
|
47
|
-
| Title | string | foo | """
|
48
|
-
And I send a PUT request to "http://url/items/4"
|
49
|
-
```
|
50
|
-
|
51
|
-
## Modification
|
52
|
-
|
53
|
-
```
|
54
|
-
Behavioural Functional
|
55
|
-
--------------------------------------------------- --------------------------------------------------------------
|
56
|
-
When I request to modify the item "4" with: When I set JSON request body to:
|
57
|
-
| attribute | type | value | """
|
58
|
-
| Body | string | bar | {"body":"bar"}
|
59
|
-
"""
|
60
|
-
And I send a PATCH request to "http://url/items/4"
|
61
|
-
```
|
62
|
-
|
63
|
-
## Status Inspection
|
64
|
-
|
65
|
-
```
|
66
|
-
Behavioural Functional
|
67
|
-
--------------------------------------------------- --------------------------------------------------------------
|
68
|
-
Then the request is successful Then the response status should be "200"
|
69
|
-
|
70
|
-
Then the request was redirected <N/A> (response status between "300" and "400")
|
71
|
-
|
72
|
-
Then the request failed <N/A> (response status between "400" and "600")
|
73
|
-
|
74
|
-
Then the request was successful and an item was Then the response status should be "201"
|
75
|
-
created
|
76
|
-
|
77
|
-
Then the request was successfully accepted Then the response status should be "202"
|
78
|
-
|
79
|
-
Then the request was successful and no response Then the response status should be "204"
|
80
|
-
body is returned
|
81
|
-
|
82
|
-
Then the request failed because it was invalid Then the response status should be "400"
|
83
|
-
|
84
|
-
Then the request failed because I am unauthorised Then the response status should be "401"
|
85
|
-
|
86
|
-
Then the request failed because it was forbidden Then the response status should be "403"
|
87
|
-
|
88
|
-
Then the request failed because the item was not Then the response status should be "404"
|
89
|
-
found
|
90
|
-
|
91
|
-
Then the request failed because it was not allowed Then the response status should be "405"
|
92
|
-
|
93
|
-
Then the request failed because there was a Then the response status should be "409"
|
94
|
-
conflict
|
95
|
-
|
96
|
-
Then the request failed because the item has gone Then the response status should be "410"
|
97
|
-
|
98
|
-
Then the request failed because it was not Then the response status should be "501"
|
99
|
-
implemented
|
100
|
-
```
|
101
|
-
|
102
|
-
## Response Inspection
|
103
|
-
|
104
|
-
```
|
105
|
-
Behavioural Functional
|
106
|
-
--------------------------------------------------- --------------------------------------------------------------
|
107
|
-
Then the response has the following attributes: Then the JSON response should have "userId" of type numeric
|
108
|
-
| attribute | type | value | with value "12"
|
109
|
-
| User Id | integer | 12 | Then the JSON response should have "title" of type numeric
|
110
|
-
| Title | string | foo | with value "foo"
|
111
|
-
| Body | string | bar | Then the JSON response should have "body" of type numeric with
|
112
|
-
value "bar"
|
113
|
-
|
114
|
-
Then the response is a list of 12 items Then the JSON response should have "$." of type array with 12
|
115
|
-
entries
|
116
|
-
|
117
|
-
Then the response is a list of at least 12 items Then the JSON response should have "$." of type array with at
|
118
|
-
least 12 entries
|
119
|
-
Then the response is a list of at most 12 items <N/A>
|
120
|
-
Then the response is a list of fewer than 12 items <N/A>
|
121
|
-
Then the response is a list of more than 12 items <N/A>
|
122
|
-
|
123
|
-
Then two items have have the following attributes: <N/A>
|
124
|
-
| attribute | type | value |
|
125
|
-
| User Id | integer | 12 |
|
126
|
-
| Title | string | foo |
|
127
|
-
| Body | string | bar |
|
128
|
-
|
129
|
-
Then more than two items have have the following <N/A>
|
130
|
-
attributes:
|
131
|
-
| attribute | type | value |
|
132
|
-
| User Id | integer | 12 |
|
133
|
-
| Title | string | foo |
|
134
|
-
| Body | string | bar |
|
135
|
-
|
136
|
-
<N/A> Then the JSON response should follow "schema.json"
|
137
|
-
|
138
|
-
<N/A> Then the response has the header "Content Type" with value
|
139
|
-
"application/json"
|
140
|
-
```
|
141
|
-
|
142
|
-
### Error Handling
|
143
|
-
|
144
|
-
Using the environment variable: `error_key` to represent the error resource
|
145
|
-
|
146
|
-
```
|
147
|
-
Behavioural Functional
|
148
|
-
--------------------------------------------------- --------------------------------------------------------------
|
149
|
-
Then the response has one error: Then the JSON response should have "errors[0].code" of type
|
150
|
-
| attribute | type | value | string with value "ERR-BLA"
|
151
|
-
| code | string | ERR-BLA |
|
152
|
-
|
153
|
-
Then the response has one error with attributes: Then the JSON response should have "errors[0].code" of type
|
154
|
-
| attribute | type | value | string with value "ERR-BLA"
|
155
|
-
| code | string | ERR-BLA |
|
156
|
-
|
157
|
-
Then the response has at least one error Then the JSON response should have "errors" of type array
|
158
|
-
with at least 1 entry
|
159
|
-
|
160
|
-
Then the response has an error Then the JSON response should have required key "error" of
|
161
|
-
Then the response contains an error type object
|
162
|
-
|
163
|
-
Then the response has two errors with:
|
164
|
-
| attribute | type | value |
|
165
|
-
| message | string | super error |
|
166
|
-
|
167
|
-
Then the response has three errors with two links <N/A>
|
168
|
-
with:
|
169
|
-
| attribute | type | value |
|
170
|
-
| href | string | http://oops |
|
171
|
-
```
|
172
|
-
|
173
|
-
### Attribute saving and re-use
|
174
|
-
|
175
|
-
```
|
176
|
-
Behavioural Functional
|
177
|
-
--------------------------------------------------- --------------------------------------------------------------
|
178
|
-
When I save "User Id" as "user" When I grab "$.userId" as "user"
|
179
|
-
And I request the user "{user}" And I send a GET request to "http://url/users/{user}"
|
180
|
-
```
|
181
|
-
|
182
|
-
### Nested requests
|
183
|
-
|
184
|
-
```
|
185
|
-
Behavioural Functional
|
186
|
-
--------------------------------------------------- --------------------------------------------------------------
|
187
|
-
When I request a list of comments for post "1" When I send a GET request to "http://url/posts/1/comments"
|
188
|
-
|
189
|
-
When I request the comment "2" for post "3" When I send a GET request to "http://url/posts/3/comments/2"
|
190
|
-
|
191
|
-
When I request the photo "3" in album "4" for user When I send a GET request to
|
192
|
-
"5" "http://url/users/5/albums/4/photos/3"
|
193
|
-
|
194
|
-
When I request a list of photos in album "6" for When I send a GET request to
|
195
|
-
user "7" "http://url/users/7/albums/6/photos"
|
196
|
-
|
197
|
-
When I request to create a comment for post "8" When I send a POST request to "http://url/posts/8/comments"
|
198
|
-
|
199
|
-
When I request to modify the comment "9" for post When I send a PATCH request to
|
200
|
-
"10" "http://url/posts/10/comments/9"
|
201
|
-
|
202
|
-
When I request to set photo "11" in album "12" to: When I set JSON request body to:
|
203
|
-
| attribute | type | value | """
|
204
|
-
| url | string | http://url/image.jpg | {"url":"http://url/image.jpg"}
|
205
|
-
"""
|
206
|
-
And I send a PUT request to "http://url/albums/12/photos/11"
|
207
|
-
```
|
208
|
-
|
209
|
-
### Nested responses
|
210
|
-
|
211
|
-
```
|
212
|
-
Behavioural Functional
|
213
|
-
--------------------------------------------------- --------------------------------------------------------------
|
214
|
-
Then the response has the following attributes: Then the JSON response should have "userId" of type numeric
|
215
|
-
| attribute | type | value | with value "12"
|
216
|
-
| User Id | integer | 12 | Then the JSON response should have "title" of type numeric
|
217
|
-
| Title | string | foo | with value "foo"
|
218
|
-
| Body | string | bar | Then the JSON response should have "body" of type numeric with
|
219
|
-
| Post : Title | string | baz | value "bar"
|
220
|
-
| Post : Body | string | boo | Then the JSON response should have "post.title" of type string
|
221
|
-
with value "baz"
|
222
|
-
Then the JSON response should have "post.body" of type string
|
223
|
-
with value "boo"
|
224
|
-
|
225
|
-
Then the response has a list of comments Then the JSON response should have "comments" of type array
|
226
|
-
|
227
|
-
Then the response has a list of 2 comments Then the JSON response should have "comments" of type array with
|
228
|
-
2 entries
|
229
|
-
Then the response has a list of at least Then the JSON response should have "comments" of type array with
|
230
|
-
2 comments at least 2 entries
|
231
|
-
|
232
|
-
Then the response has a post with two comments <N/A>
|
233
|
-
with attributes:
|
234
|
-
| attribute | type | value |
|
235
|
-
| Title | string | foo |
|
236
|
-
| Body | string | bar |
|
237
|
-
|
238
|
-
Then two items contains two posts with three <N/A>
|
239
|
-
comments with an image with attributes:
|
240
|
-
| attribute | type | value |
|
241
|
-
| Href | string | some_url |
|
242
|
-
|
243
|
-
Then more than two items contains fewer than two <N/A>
|
244
|
-
posts with at least three comments with an
|
245
|
-
image with attributes:
|
246
|
-
| attribute | type | value |
|
247
|
-
| Href | string | some_url |
|
248
|
-
|
249
|
-
Then the response has a post with a list of Then the JSON response should have "post.comments" of type array
|
250
|
-
comments
|
251
|
-
|
252
|
-
Then the response has a post with a list of more Then the JSON response should have "post.comments" of type array
|
253
|
-
than 3 comments with at least 4 comments
|
254
|
-
|
255
|
-
Then more than three posts have less than two <N/A>
|
256
|
-
comments
|
257
|
-
```
|
data/cucumber-rest-bdd.gemspec
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
Gem::Specification.new do |s|
|
2
|
-
s.name = 'cucumber-rest-bdd'
|
3
|
-
s.version = '0.5.3'
|
4
|
-
s.version = "#{s.version}-#{ENV['TRAVIS_BUILD_NUMBER']}" if ENV['TRAVIS'] && ENV['TRAVIS_TAG'] == ''
|
5
|
-
s.platform = Gem::Platform::RUBY
|
6
|
-
s.date = '2017-01-10'
|
7
|
-
s.summary = 'BDD Rest API specifics for cucumber'
|
8
|
-
s.description = 'Series of BDD cucumber rules for testing API endpoints'
|
9
|
-
s.authors = ["Harry Bragg"]
|
10
|
-
s.email = ["harry.bragg@graze.com"]
|
11
|
-
s.files = `git ls-files`.split("\n")
|
12
|
-
s.require_paths = ["lib"]
|
13
|
-
s.homepage = 'http://github.com/graze/cucumber-rest-bdd'
|
14
|
-
s.license = 'MIT'
|
15
|
-
|
16
|
-
s.add_dependency('cucumber-api', '~> 0.4')
|
17
|
-
s.add_dependency('activesupport', '~> 5.0')
|
18
|
-
s.add_dependency('easy_diff', '~> 1.0')
|
19
|
-
end
|
data/docker-compose.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
version: '2'
|
2
|
-
services:
|
3
|
-
test-server:
|
4
|
-
image: clue/json-server
|
5
|
-
command: --routes /data/routes.json --middlewares /data/error.js
|
6
|
-
volumes:
|
7
|
-
- ./server:/data:ro
|
8
|
-
|
9
|
-
runner:
|
10
|
-
image: graze/cucumber-rest-bdd
|
11
|
-
build: .
|
12
|
-
volumes:
|
13
|
-
- .:/opt/src
|
14
|
-
working_dir: /opt/src
|
15
|
-
environment:
|
16
|
-
- endpoint=http://test-server/
|
17
|
-
- cucumber_api_verbose=false
|
18
|
-
- field_separator=_
|
19
|
-
- field_camel=true
|
20
|
-
- resource_single=false
|
21
|
-
- data_key=
|
22
|
-
- error_key=error
|
23
|
-
- set_parent_id=true
|
data/features/errors.feature
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
@errors
|
2
|
-
Feature: Handling error responses
|
3
|
-
|
4
|
-
Background:
|
5
|
-
Given I am a client
|
6
|
-
|
7
|
-
Scenario: Handle errors as a list
|
8
|
-
When I request the error "list"
|
9
|
-
Then the request fails because the post was not found
|
10
|
-
And the response contains at least one errors
|
11
|
-
And the response has one error
|
12
|
-
And the response has one error with the attributes:
|
13
|
-
| attribute | type | value |
|
14
|
-
| Message | string | Not Found |
|
15
|
-
|
16
|
-
Scenario: Handle error as a single item
|
17
|
-
When I request the error "single"
|
18
|
-
Then the request fails because it was invalid
|
19
|
-
And the response contains an error
|
20
|
-
And the response has an error
|
21
|
-
And the response has an error with the attributes:
|
22
|
-
| attribute | type | value |
|
23
|
-
| Message | string | Bad Request |
|
data/features/functional.feature
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
Feature: Performing different rest methods
|
2
|
-
|
3
|
-
Background:
|
4
|
-
Given I am a client
|
5
|
-
|
6
|
-
Scenario: Count the number of elements
|
7
|
-
When I request a list of posts with:
|
8
|
-
| User Id | 8 |
|
9
|
-
Then the request is successful
|
10
|
-
And the JSON response should have "$." of type array with at least 1 entry
|
11
|
-
And the JSON response should have "$." of type array with at least 10 entries
|
12
|
-
And the JSON response should have "$." of type array with 10 entries
|
13
|
-
And the JSON response should have "$." of type array with at most 10 entries
|
14
|
-
And the JSON response should have "$." of type array with at most 11 entries
|
15
|
-
|
16
|
-
Scenario: Check for null type
|
17
|
-
When I request to create a post with:
|
18
|
-
| attribute | type | value |
|
19
|
-
| title | string | foo |
|
20
|
-
| body | text | bar |
|
21
|
-
| null | null | |
|
22
|
-
| nil | nil | |
|
23
|
-
Then the JSON response should have "null" of type null
|
24
|
-
Then the JSON response should have "nil" of type nil
|
25
|
-
Then the JSON response should have "nil" of type nill
|
data/features/grabs.feature
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
Feature: Using the response from a previous request
|
2
|
-
|
3
|
-
Background:
|
4
|
-
Given I am a client
|
5
|
-
|
6
|
-
Scenario: Get an id from creation and use in get
|
7
|
-
When I request to create a post with:
|
8
|
-
| attribute | type | value |
|
9
|
-
| Title | string | foo |
|
10
|
-
| Body | string | bar |
|
11
|
-
| User Id | integer | 12 |
|
12
|
-
Then the request is successful
|
13
|
-
When I save "id"
|
14
|
-
And I request the post "{id}"
|
15
|
-
Then the request is successful
|
16
|
-
And the response has the following attributes:
|
17
|
-
| attribute | type | value |
|
18
|
-
| Title | string | foo |
|
19
|
-
| Body | string | bar |
|
20
|
-
| User Id | numeric | 12 |
|
21
|
-
| Id | numeric | {id} |
|
data/features/headers.feature
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
Feature: We can inspect the headers of the response
|
2
|
-
|
3
|
-
Scenario: Parse a single result
|
4
|
-
When I request the post "1"
|
5
|
-
Then the request was successful
|
6
|
-
And the response has the header "Content Type" with value "application/json; charset=utf-8"
|
7
|
-
|
8
|
-
Scenario Outline: Can check for multiple headers
|
9
|
-
When I request the post "1"
|
10
|
-
Then the request was successful
|
11
|
-
And the response has the header "<header>" with the value "<value>"
|
12
|
-
|
13
|
-
Examples:
|
14
|
-
| header | value |
|
15
|
-
| Content Type | application/json; charset=utf-8 |
|
16
|
-
| Cache Control | no-cache |
|
data/features/levels.feature
DELETED
@@ -1,121 +0,0 @@
|
|
1
|
-
Feature: Request multiple levels of REST api
|
2
|
-
As a user
|
3
|
-
I would like to query a url with multiple levels of depth
|
4
|
-
So that I can get all the data from this api
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given I am a client
|
8
|
-
|
9
|
-
Scenario: get single id from sub layer
|
10
|
-
When I request the comment "1" for post "1"
|
11
|
-
Then the request was successful
|
12
|
-
And the response has the attributes:
|
13
|
-
| attribute | type | value |
|
14
|
-
| id | int | 1 |
|
15
|
-
|
16
|
-
Scenario: get list from sub layer
|
17
|
-
When I request a list of comments for post "1"
|
18
|
-
Then the request was successful
|
19
|
-
And the response is a list of more than 4 comments
|
20
|
-
And one comment has the attributes:
|
21
|
-
| attribute | type | value |
|
22
|
-
| id | int | 1 |
|
23
|
-
|
24
|
-
Scenario: multiple sub levels
|
25
|
-
When I request the photo "1" for album "1" for user "1"
|
26
|
-
Then the request was successful
|
27
|
-
And the response has the attributes:
|
28
|
-
| attribute | type | value |
|
29
|
-
| title | string | accusamus beatae ad facilis cum similique qui sunt |
|
30
|
-
|
31
|
-
Scenario: request a list of multiple sub levels
|
32
|
-
When I request a list of photos for album "1" for user "1"
|
33
|
-
Then the request was successful
|
34
|
-
And the response is a list of more than 2 photos
|
35
|
-
And one photo has the attributes:
|
36
|
-
| attribute | type | value |
|
37
|
-
| title | string | accusamus beatae ad facilis cum similique qui sunt |
|
38
|
-
|
39
|
-
Scenario: create a item as a child
|
40
|
-
When I request to create a comment for post "18" with:
|
41
|
-
| attribute | type | value |
|
42
|
-
| Title | string | foo |
|
43
|
-
| Body | string | bar |
|
44
|
-
Then the comment was created
|
45
|
-
And the response has the attributes:
|
46
|
-
| attribute | type | value |
|
47
|
-
| Post Id | string | 18 |
|
48
|
-
| Title | string | foo |
|
49
|
-
| Body | string | bar |
|
50
|
-
When I request a list of comments for post "18"
|
51
|
-
Then the request was successful
|
52
|
-
And one comment has the attributes:
|
53
|
-
| attribute | type | value |
|
54
|
-
| Title | string | foo |
|
55
|
-
| Body | string | bar |
|
56
|
-
|
57
|
-
Scenario: create a 2nd level child item
|
58
|
-
When I request to create a photo in album "2" for user "1" with:
|
59
|
-
| attribute | type | value |
|
60
|
-
| title | string | foo |
|
61
|
-
Then the comment was created
|
62
|
-
And the response has the attributes:
|
63
|
-
| attribute | type | value |
|
64
|
-
| Album Id | int | 2 |
|
65
|
-
| Title | string | foo |
|
66
|
-
When I request a list of photos for album "2" for user "1"
|
67
|
-
Then the request was successful
|
68
|
-
And one comment has the attributes:
|
69
|
-
| attribute | type | value |
|
70
|
-
| Title | string | foo |
|
71
|
-
|
72
|
-
Scenario: delete a child item
|
73
|
-
When I request to delete the comment "91" for post "19"
|
74
|
-
Then the request was successful
|
75
|
-
When I request a list of comments for post "19"
|
76
|
-
Then the request was successful
|
77
|
-
And zero comments have the attributes:
|
78
|
-
| attribute | type | value |
|
79
|
-
| id | int | 91 |
|
80
|
-
|
81
|
-
Scenario: modify a child item
|
82
|
-
When I request to modify the comment "102" for post "21" with:
|
83
|
-
| attribute | type | value |
|
84
|
-
| Name | string | foo |
|
85
|
-
| Body | string | bar |
|
86
|
-
Then the request was successful
|
87
|
-
And the response has the attributes:
|
88
|
-
| attribute | type | value |
|
89
|
-
| Post Id | int | 21 |
|
90
|
-
| Name | string | foo |
|
91
|
-
| Body | string | bar |
|
92
|
-
When I request a list of comments for post "21"
|
93
|
-
Then the request was successful
|
94
|
-
And one comment has the attributes:
|
95
|
-
| attribute | type | value |
|
96
|
-
| Name | string | foo |
|
97
|
-
| Body | string | bar |
|
98
|
-
|
99
|
-
Scenario: modify a child item
|
100
|
-
When I request to replace the comment "106" for post "22" with:
|
101
|
-
| attribute | type | value |
|
102
|
-
| Title | string | foo |
|
103
|
-
| Body | string | bar |
|
104
|
-
Then the request was successful
|
105
|
-
And the response has the attributes:
|
106
|
-
| attribute | type | value |
|
107
|
-
| Post Id | int | 22 |
|
108
|
-
| Title | string | foo |
|
109
|
-
| Body | string | bar |
|
110
|
-
When I request a list of comments for post "22"
|
111
|
-
Then the request was successful
|
112
|
-
And one comment has the attributes:
|
113
|
-
| attribute | type | value |
|
114
|
-
| Title | string | foo |
|
115
|
-
| Body | string | bar |
|
116
|
-
When I request the comment "106"
|
117
|
-
Then the request was successful
|
118
|
-
And the response has the attributes:
|
119
|
-
| attribute | type | value |
|
120
|
-
| Title | string | foo |
|
121
|
-
| Body | string | bar |
|