fitting 2.13.0 → 2.16.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.
Files changed (54) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +33 -0
  3. data/.rubocop.yml +1 -1
  4. data/.ruby-version +1 -1
  5. data/.tool-versions +1 -1
  6. data/CHANGELOG.md +52 -0
  7. data/README.md +83 -259
  8. data/example.png +0 -0
  9. data/example2.png +0 -0
  10. data/fitting.gemspec +5 -5
  11. data/lib/fitting/cover/json_schema.rb +8 -6
  12. data/lib/fitting/cover/json_schema_enum.rb +8 -6
  13. data/lib/fitting/cover/json_schema_one_of.rb +7 -5
  14. data/lib/fitting/records/spherical/requests.rb +3 -1
  15. data/lib/fitting/report/action.rb +53 -0
  16. data/lib/fitting/report/actions.rb +51 -0
  17. data/lib/fitting/report/combination.rb +37 -0
  18. data/lib/fitting/report/combinations.rb +47 -0
  19. data/lib/fitting/report/console.rb +41 -0
  20. data/lib/fitting/report/prefix.rb +88 -0
  21. data/lib/fitting/report/prefixes.rb +54 -0
  22. data/lib/fitting/report/response.rb +71 -0
  23. data/lib/fitting/report/responses.rb +48 -0
  24. data/lib/fitting/report/test.rb +75 -0
  25. data/lib/fitting/report/tests.rb +69 -0
  26. data/lib/fitting/tests.rb +0 -1
  27. data/lib/fitting/version.rb +1 -1
  28. data/lib/tasks/fitting.rake +130 -0
  29. data/lib/templates/bomboniere/.gitignore +21 -0
  30. data/lib/templates/bomboniere/.tool-versions +1 -0
  31. data/lib/templates/bomboniere/README.md +19 -0
  32. data/lib/templates/bomboniere/dist/css/app.aa2bcd8a.css +1 -0
  33. data/lib/templates/bomboniere/dist/css/chunk-vendors.ec5f6c3f.css +1 -0
  34. data/lib/templates/bomboniere/dist/favicon.ico +0 -0
  35. data/lib/templates/bomboniere/dist/index.html +1 -0
  36. data/lib/templates/bomboniere/dist/js/app.e5f1a5ec.js +2 -0
  37. data/lib/templates/bomboniere/dist/js/app.e5f1a5ec.js.map +1 -0
  38. data/lib/templates/bomboniere/dist/js/chunk-vendors.0f99b670.js +13 -0
  39. data/lib/templates/bomboniere/dist/js/chunk-vendors.0f99b670.js.map +1 -0
  40. data/lib/templates/bomboniere/package-lock.json +9277 -0
  41. data/lib/templates/bomboniere/package.json +27 -0
  42. data/lib/templates/bomboniere/public/favicon.ico +0 -0
  43. data/lib/templates/bomboniere/public/index.html +17 -0
  44. data/lib/templates/bomboniere/src/App.vue +102 -0
  45. data/lib/templates/bomboniere/src/assets/logo.png +0 -0
  46. data/lib/templates/bomboniere/src/components/HelloWorld.vue +201 -0
  47. data/lib/templates/bomboniere/src/main.js +10 -0
  48. data/lib/templates/bomboniere/src/router/index.js +31 -0
  49. data/lib/templates/bomboniere/src/views/About.vue +5 -0
  50. data/lib/templates/bomboniere/src/views/Action.vue +173 -0
  51. data/lib/templates/bomboniere/src/views/Home.vue +17 -0
  52. data/lib/templates/bomboniere/vue.config.js +3 -0
  53. metadata +68 -31
  54. data/.travis.yml +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3cb768409f791b3b1af04fdcee07ae65bb5156ee
4
- data.tar.gz: 2ff46f1b9f5412cc3d79c9d3908243584d896bee
2
+ SHA256:
3
+ metadata.gz: 9de3ef63b994a6585d5795ebff3c5473d5b150a47b29abab37d8c306a813e4ee
4
+ data.tar.gz: 0c8b4c52d63c38f4b1d6fb174b991544b185bedde24722b09428adfb0260cf05
5
5
  SHA512:
6
- metadata.gz: 70f5a4114b36c30a665cc3792b73000c557b78c8d1fd925a10d66b5aac3df16f953aa40b72be5093dca176915059697867807f8e8923ced92151f990da7aaceb
7
- data.tar.gz: aaecda82b7dcc6307a7dc168c162f2654568cae2ea0327653127e7b688bec23969b0f51eb7090aec58e8ba46e18d144f3734da8813d405e0a0220217d2678c08
6
+ metadata.gz: df9e196563d7a3430b228d9bc4fdaf13600a4db62ee0c8182506b30a4c890fb39a4bb3dc0ae194df63d6a48489ccaf8817dda54c6e6ab3c509a9fa5ee73421c2
7
+ data.tar.gz: a140201ca99818ce637b39d80721a26a0c00a75beb5435778e41aacce5e60e953d6b62c285272295b48446c234c3992dd0b7c87c8670bad91d0601f64a7ded1e
@@ -0,0 +1,33 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+
21
+ steps:
22
+ - uses: actions/checkout@v2
23
+ - name: Set up Ruby
24
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
25
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
26
+ uses: ruby/setup-ruby@v1
27
+ # uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
28
+ with:
29
+ ruby-version: 2.7
30
+ - name: Install dependencies
31
+ run: bundle install
32
+ - name: Run tests
33
+ run: bundle exec rake
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.2
2
+ TargetRubyVersion: 2.3
3
3
 
4
4
  Metrics/LineLength:
5
5
  Max: 120
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.6.1
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.2.0
1
+ ruby 2.6.1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,57 @@
1
1
  # Change log
2
2
 
3
+ ### 2.16.0 - 2021-02-10
4
+
5
+ * features
6
+ * support swagger and openapi [#96](https://github.com/funbox/fitting/issues/96)
7
+ * patch
8
+ * let's bump to tomograph '3.0.1' [#95](https://github.com/funbox/fitting/issues/95)
9
+
10
+ ### 2.15.0 - 2020-10-12
11
+
12
+ * features
13
+ * color for bad response [#79](https://github.com/funbox/fitting/issues/79)
14
+ * show test details [#81](https://github.com/funbox/fitting/issues/81)
15
+ * patch
16
+ * update ruby [#83](https://github.com/funbox/fitting/issues/83)
17
+ * update bundler [#84](https://github.com/funbox/fitting/issues/84)
18
+ * update tomograph [#85](https://github.com/funbox/fitting/issues/85)
19
+ * use github actions for CI instead of Travis [#30](https://github.com/funbox/fitting/issues/30)
20
+
21
+ ### 2.14.1 - 2020-09-23
22
+
23
+ * fixes
24
+ * fix directory error [#75](https://github.com/funbox/fitting/issues/75)
25
+ * upgrade node-forge [#77](https://github.com/funbox/fitting/issues/77)
26
+
27
+ ### 2.14.0 - 2020-09-18
28
+
29
+ * features
30
+ * save tests for all prefixes [#35](https://github.com/funbox/fitting/issues/35)
31
+ * prefix checking [#37](https://github.com/funbox/fitting/issues/37)
32
+ * html view for prefix checking [#39](https://github.com/funbox/fitting/issues/39)
33
+ * add actions join in new html report [#41](https://github.com/funbox/fitting/issues/41)
34
+ * add responses join in new report [#43](https://github.com/funbox/fitting/issues/43)
35
+ * add combinations join in new report [#47](https://github.com/funbox/fitting/issues/47)
36
+ * add action page [#49](https://github.com/funbox/fitting/issues/49)
37
+ * show more information in new report [#51](https://github.com/funbox/fitting/issues/51)
38
+ * add accordion for prefixes [#55](https://github.com/funbox/fitting/issues/55)
39
+ * move json-schemas to separate files [#57](https://github.com/funbox/fitting/issues/57)
40
+ * add method for tests without actions [#61](https://github.com/funbox/fitting/issues/61)
41
+ * show tests without responses [#63](https://github.com/funbox/fitting/issues/63)
42
+ * add console output for new report [#69](https://github.com/funbox/fitting/issues/69)
43
+ * check test in new console [#71](https://github.com/funbox/fitting/issues/71)
44
+ * fixes
45
+ * fix vulnerability CVE-2020-7660 [#53](https://github.com/funbox/fitting/issues/53)
46
+ * fix cover if response without combinations [#59](https://github.com/funbox/fitting/issues/59)
47
+ * fix cover if combinations without tests [#66](https://github.com/funbox/fitting/issues/66)
48
+ * do not check tests without combinations [#73](https://github.com/funbox/fitting/issues/73)
49
+
50
+ ### 2.13.1 - 2020-04-17
51
+
52
+ * fixes
53
+ * combinations
54
+
3
55
  ### 2.13.0 - 2020-02-26
4
56
 
5
57
  * features
data/README.md CHANGED
@@ -1,42 +1,25 @@
1
1
  # Fitting
2
-
3
- <a href="https://funbox.ru">
4
- <img src="https://funbox.ru/badges/sponsored_by_funbox_compact.svg" alt="Sponsored by FunBox" width=250 />
5
- </a>
6
-
7
- [![Gem Version](https://badge.fury.io/rb/fitting.svg)](https://badge.fury.io/rb/fitting)
8
- [![Build Status](https://travis-ci.org/funbox/fitting.svg?branch=master)](https://travis-ci.org/funbox/fitting)
9
-
10
- This gem will help you implement your API in strict accordance to the documentation in [API Blueprint](https://apiblueprint.org/) format.
11
- To do this, when you run your RSpec tests on controllers, it automatically searches for the corresponding json-schemas in the documentation and then validates responses with them.
2
+ Coverage API Blueprint, Swagger and OpenAPI with rspec tests for easily make high-quality API and documenatiton.
3
+ ![exmaple](example.png)
12
4
 
13
5
  ## Installation
14
-
15
- First you need to install [drafter](https://github.com/apiaryio/drafter).
16
-
17
- Second add this line to your application's Gemfile:
18
-
6
+ Add this line to your application's Gemfile:
19
7
  ```ruby
20
8
  gem 'fitting'
21
9
  ```
22
10
 
23
- And then execute:
24
-
25
- $ bundle
26
-
27
- Or install it yourself as:
28
-
29
- $ gem install fitting
30
-
31
- ## Usage
32
-
33
- In your `.fitting.yml`:
11
+ After that execute:
12
+ ```bash
13
+ $ bundle
14
+ ```
34
15
 
35
- ```yaml
36
- apib_path: /path/to/doc.apib
16
+ Or install the gem by yourself:
17
+ ```bash
18
+ $ gem install fitting
37
19
  ```
38
20
 
39
- In your `spec_helper.rb`:
21
+ ## Usage
22
+ And next to your `spec_helper.rb`:
40
23
 
41
24
  ```ruby
42
25
  require 'fitting'
@@ -44,270 +27,111 @@ require 'fitting'
44
27
  Fitting.save_test_data
45
28
  ```
46
29
 
47
- The files will be created in ./fitting_tests/ path
48
-
49
- Example:
50
-
51
- ```
52
- [
53
- {
54
- "method": "GET",
55
- "path": "/api/v1/book",
56
- "body": {},
57
- "response": {
58
- "status": 200,
59
- "body": {
60
- "title": "The Martian Chronicles"
61
- }
62
- },
63
- "title": "/spec/controllers/api/v1/books_controller_spec.rb:11",
64
- "group": "/spec/controllers/api/v1/books_controller_spec.rb"
65
- },
66
- {
67
- "method": "POST",
68
- "path": "/api/v1/book",
69
- "body": {},
70
- "response": {
71
- "status": 200,
72
- "body": {
73
- "title": "The Old Man and the Sea"
74
- }
75
- },
76
- "title": "/spec/controllers/api/v1/books_controller_spec.rb:22",
77
- "group": "/spec/controllers/api/v1/books_controller_spec.rb"
78
- },
79
- ...
80
- ```
81
-
82
-
83
- ## Check documentation cover
84
-
85
- ### xs size
86
-
87
- For match routes and valid json-schemas run
30
+ Add this to your `.fitting.yml`:
88
31
 
89
- for bash
90
- ```
91
- rake fitting:documentation_responses[xs]
92
- ```
32
+ ### OpenAPI 2.0
33
+ Also Swagger
93
34
 
94
- for zsh
95
- ```
96
- rake 'fitting:documentation_responses[xs]'
35
+ ```yaml
36
+ prefixes:
37
+ - name: /api/v1
38
+ openapi2_json_path: doc.json
97
39
  ```
98
40
 
99
- You will get statistics:
41
+ ### OpenAPI 3.0
42
+ Also OpenAPI
100
43
 
44
+ ```yaml
45
+ prefixes:
46
+ - name: /api/v1
47
+ openapi3_yaml_path: doc.yaml
101
48
  ```
102
- Fully conforming requests:
103
- DELETE /api/v1/book ✔ 200 ✔ 201 ✔ 404
104
- DELETE /api/v1/book/{id} ✔ 200 ✔ 201 ✔ 404
105
- GET /api/v1/book/{id}/seller ✔ 200 ✔ 201 ✔ 404
106
-
107
- Partially conforming requests:
108
- GET /api/v1/book ✖ 200 ✔ 404
109
- POST /api/v1/book ✖ 200 ✔ 201 ✔ 404
110
- GET /api/v1/book/{id} ✖ 200 ✔ 404 ✔ 200
111
- PATCH /api/v1/book/{id} ✖ 200 ✔ 201 ✔ 404
112
-
113
- Non-conforming requests:
114
- GET /api/v1/seller ✖ 200 ✖ 201 ✖ 404
115
- GET /api/v1/buyer ✖ 200 ✖ 404
116
-
117
- API requests with fully implemented responses: 3 (33.33% of 9).
118
- API requests with partially implemented responses: 4 (44.44% of 9).
119
- API requests with no implemented responses: 2 (22.22% of 9).
120
-
121
- API responses conforming to the blueprint: 16 (64.00% of 25).
122
- API responses with validation errors or untested: 9 (36.00% of 25).
123
- ```
124
-
125
- ### s size
126
-
127
- In addition to the previous comand, you will learn the coverage(required) json-schemas with task `rake fitting:documentation_responses[s]`
128
49
 
129
- ```
130
- Fully conforming requests:
131
- DELETE /api/v1/book 100% 200 100% 201 100% 404
132
- DELETE /api/v1/book/{id} 100% 200 100% 201 100% 404
133
- GET /api/v1/book/{id}/seller 100% 200 100% 201 100% 404
134
-
135
- Partially conforming requests:
136
- GET /api/v1/book 0% 200 66% 404
137
- POST /api/v1/book 0% 200 90% 201 100% 404
138
- GET /api/v1/book/{id} 0% 200 88% 404 10% 200
139
- PATCH /api/v1/book/{id} 0% 200 100% 201 10% 404
140
-
141
- Non-conforming requests:
142
- GET /api/v1/seller 0% 200 0% 201 0 404
143
- GET /api/v1/buyer 0% 200 0% 404
144
-
145
- API requests with fully implemented responses: 3 (33.33% of 9).
146
- API requests with partially implemented responses: 4 (44.44% of 9).
147
- API requests with no implemented responses: 2 (22.22% of 9).
148
-
149
- API responses conforming to the blueprint: 16 (64.00% of 25).
150
- API responses with validation errors or untested: 9 (36.00% of 25).
151
- ```
50
+ ### API Blueprint
51
+ First you need to install [drafter](https://github.com/apiaryio/drafter).
52
+ Works after conversion from API Blueprint to API Elements (in YAML file) with Drafter.
152
53
 
153
- For details `rake fitting:documentation_responses_error[s]`
54
+ That is, I mean that you first need to do this
154
55
 
56
+ ```bash
57
+ drafter doc.apib -o doc.yaml
155
58
  ```
156
- request method: GET
157
- request path: /api/v1/book
158
- response status: 200
159
- source json-schema: {"$schema"=>"http://json-schema.org/draft-04/schema#", "type"=>"object", ...}
160
- combination: ["required", "pages"]
161
- new json-schema: {"$schema"=>"http://json-schema.org/draft-04/schema#", "type"=>"object", ...}
162
- ```
163
-
164
- ### m size
165
-
166
- In addition to the previous comand, you will learn the coverage(enum) json-schemas with task `rake fitting:documentation_responses[m]`
167
- For details `rake fitting:documentation_responses_error[m]`
168
59
 
169
- ### l size
170
-
171
- In addition to the previous comand, you will learn the coverage(oneOf) json-schemas with task `rake fitting:documentation_responses[l]`
172
- For details `rake fitting:documentation_responses_error[l]`
173
-
174
- ## Check tests cover
175
-
176
- ### xs size
177
-
178
- `rake fitting:tests_responses[xs]`
179
-
180
- ## Config
181
-
182
- You can specify the settings either in a yaml file `.fitting.yml` or in config.
183
- If your project uses several prefixes, for each one you need to create a separate yaml file in the folder `fitting` (`fitting/*.yml`).
184
-
185
- ### apib_path
186
-
187
- Path to API Blueprint v3 documentation. There must be an installed [drafter](https://github.com/apiaryio/drafter) to parse it.
188
-
189
- ### drafter_yaml_path
190
-
191
- Path to API Blueprint v3 documentation pre-parsed with `drafter` and saved to a YAML file.
192
-
193
- ### drafter_4_apib_path
194
-
195
- Path to API Blueprint v4 documentation. There must be an installed [drafter](https://github.com/apiaryio/drafter) to parse it.
196
-
197
- ### drafter_4_yaml_path
198
-
199
- Path to API Blueprint v4 documentation pre-parsed with `drafter` and saved to a YAML file.
200
-
201
- ### crafter_apib_path
202
-
203
- Path to API Blueprint v4 documentation.
204
-
205
- ### crafter_yaml_path
206
-
207
- Path to API Blueprint v4 documentation pre-parsed with `crafter` and saved to a YAML file.
208
-
209
- ### tomogram_json_path
210
-
211
- Path to Tomogram documentation pre-parsed with [tomograph](https://github.com/funbox/tomograph) and saved to a JSON file.
212
-
213
- ### strict
214
-
215
- Default `false`. If `true` then all properties are condisidered to have `"required": true` and all objects `"additionalProperties": false`.
216
-
217
- ### prefix
218
-
219
- Prefix of API requests. Example: `'/api'`. Validation will not be performed if the request path does not start with a prefix.
220
-
221
- ### white_list
222
-
223
- Default: all paths. This is an array of paths that are mandatory for implementation.
224
- This list does not affect the work of the matcher.
225
- This list is only for the report in the console.
60
+ and then
226
61
 
227
62
  ```yaml
228
- white_list:
229
- /users:
230
- - DELETE
231
- - POST
232
- /users/{id}:
233
- - GET
234
- - PATCH
235
- /users/{id}/employees:
236
- - GET
237
- /sessions: []
63
+ prefixes:
64
+ - name: /api/v1
65
+ drafter_yaml_path: doc.yaml
238
66
  ```
239
67
 
240
- Empty array `[]` means all methods.
68
+ ### Tomograph
241
69
 
242
- ### resource_white_list
243
-
244
- Default: all resources. This is an array of resources that are mandatory for implementation.
245
- This list does not affect the work of the matcher.
246
- This list is only for the report in the console.
70
+ To use additional features of the pre-converted [tomograph](https://github.com/funbox/tomograph)
247
71
 
248
72
  ```yaml
249
- resource_white_list:
250
- /users:
251
- - DELETE /users/{id}
252
- - POST /users
253
- - GET /users/{id}
254
- - PATCH /users/{id}
255
- /users/{id}/employees:
256
- - GET /users/{id}/employees
257
- /sessions: []
73
+ prefixes:
74
+ - name: /api/v1
75
+ tomogram_json_path: doc.json
258
76
  ```
259
77
 
260
- Empty array `[]` means all methods.
261
-
262
- ### json_schema_cover
263
-
264
- Default: false. Json-schema covering becomes mandatory.
265
- Or you can call `responses.statistics.cover_save` if you don't use call `Fitting.statistics`.
266
-
267
- ### include_resources
268
-
269
- Default: all resources if `include_resources` and `include_actions` is not used.
270
- This is an array of resources that are mandatory for implementation.
271
- This list does not affect the work of the matcher.
272
- This list is only for the report in the console.
78
+ ## Run
79
+ Run tests first to get run artifacts
80
+ ```bash
81
+ bundle e rspec
82
+ ```
273
83
 
274
- ```yaml
275
- include_resources:
276
- - /sessions
84
+ and then
85
+ ```bash
86
+ bundle e rake fitting:report
277
87
  ```
278
88
 
279
- ### include_actions
89
+ Console ouptut
280
90
 
281
- Default: all paths if `include_resources` and `include_actions` is not used.
282
- This is an array of paths that are mandatory for implementation.
283
- This list does not affect the work of the matcher.
284
- This list is only for the report in the console.
91
+ ```text
92
+ /api/v1
93
+ POST /api/v1/accounts/{account_id}/inboxes 0% 200 0% 404 0% 403
94
+ PATCH /api/v1/accounts/{account_id}/inboxes/{id} 0% 200 0% 404 0% 403
95
+ POST /api/v1/accounts/{account_id}/inboxes/{id}/set_agent_bot 0% 204 100% 404 0% 403
96
+ GET /api/v1/agent_bots 0% 200 0% 404 0% 403
97
+ GET /api/v1/accounts/{account_id}/conversations 0% 200 0% 400 0% description
98
+ POST /api/v1/accounts/{account_id}/conversations 0% 200 0% 403
99
+ GET /api/v1/accounts/{account_id}/conversations/{id} 59% 200 0% 404 0% 403
100
+ POST /api/v1/accounts/{account_id}/conversations/{id}/toggle_status 80% 200 0% 404 0% 403
101
+ GET /api/v1/accounts/{account_id}/conversations/{id}/messages 47% 200 0% 404 0% 403
102
+ POST /api/v1/accounts/{account_id}/conversations/{id}/messages 0% 200 0% 404 0% 403
103
+ GET /api/v1/accounts/{account_id}/conversations/{id}/labels 100% 200 0% 404 0% 403
104
+ POST /api/v1/accounts/{account_id}/conversations/{id}/labels 100% 200 0% 404 0% 403
105
+ POST /api/v1/accounts/{account_id}/conversations/{id}/assignments 77% 200 0% 404 0% 403
106
+ GET /api/v1/accounts/{account_id}/contacts 0% 200 0% 400
107
+ POST /api/v1/accounts/{account_id}/contacts 14% 200 0% 400
108
+ GET /api/v1/accounts/{account_id}/contacts/{id} 14% 200 0% 404 0% 403
109
+ PUT /api/v1/accounts/{account_id}/contacts/{id} 0% 204 0% 404 0% 403
110
+ GET /api/v1/accounts/{account_id}/contacts/{id}/conversations 0% 200 0% 404 0% 403
111
+ GET /api/v1/accounts/{account_id}/contacts/search 0% 200 0% 401
112
+ POST /api/v1/accounts/{account_id}/contacts/{id}/contact_inboxes 0% 200 0% 401 100% 422
113
+ GET /api/v1/profile 88% 200 100% 401
285
114
 
286
- ```yaml
287
- include_actions:
288
- - DELETE /users/{id}
289
- - POST /users
290
- - GET /users/{id}
291
- - PATCH /users/{id}
292
- - GET /users/{id}/employees
115
+ tests_without_prefixes: 42
116
+ tests_without_actions: 144
117
+ tests_without_responses: 43
293
118
  ```
294
119
 
295
- ### ignore_list
120
+ And task will create HTML (`fitting/index.html`) reports.
296
121
 
297
- You can use ignore list for omit checks with matchers.
122
+ ![exmaple](example.png)
298
123
 
299
- ```yaml
300
- ignore_list:
301
- - %r{/api/v1/users/[1-9].}
302
- - %r{/api/v1/comments}
303
- ```
124
+ More information on action coverage
304
125
 
305
- It works only for match_schema (NOT FOR strictly_match_schema)
126
+ ![exmaple2](example2.png)
306
127
 
307
128
  ## Contributing
308
129
 
309
- Bug reports and pull requests are welcome on GitHub at https://github.com/funbox/fitting. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
130
+ Bug reports and pull requests are welcome on GitHub at [github.com/funbox/fitting](https://github.com/funbox/fitting).
131
+ This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
310
132
 
311
133
  ## License
312
134
 
313
135
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
136
+
137
+ [![Sponsored by FunBox](https://funbox.ru/badges/sponsored_by_funbox_centered.svg)](https://funbox.ru)