Fitting
This gem will help to make your tests according to the documentation for the API.
When writing tests, you can be sure that the implement API in accordance with documentation on API Blueprint.
Installation
Add this line to your application's Gemfile:
gem 'fitting'
And then execute:
$ bundle
Or install it yourself as:
$ gem install fitting
Usage
In your spec_helper.rb:
config.include JSON::SchemaMatchers
This gem takes a simplified format json convert from API Blueprint which we have called API Tomogram.
Use gem tomograph
Fitting.configure do |config|
config.tomogram = 'tomogram.json'
end
You can then write tests such as:
expect(response).to match_response
If you want check all tests:
config.after(:each, :type => :controller) do
expect(response).to match_response
end
Config
necessary_fully_implementation_of_responses
Default true. It returns exit 1 if not implemented all(with tests expect match response) the responses.
white_list
Default all resources. This is an array of resources that are mandatory for implementation. This list does not affect the work of the match expert. This list is only for the report in the console and verify implementation.
config.white_list = {
'/users' => ['DELETE', 'POST'],
'/users/{id}' => ['GET', 'PATCH'],
'/users/{id}/employees' => ['GET'],
'/sessions' => []
}
Empty array [] means all methods.
Report
Autogenerate report_request_by_response.yaml and report_response.yaml reports.
Contributing
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 code of conduct.
License
The gem is available as open source under the terms of the MIT License.