fakery
Descripton
Faking Ruby objects from JSON API responses
Usage
Registering fakes
Automatically register all fakes stored in JSON files under their respective filenames:
require 'fakery'
Fakery.register_files Dir[Rails.root + 'spec/support/fakes/*.json']
Building fakes
Fakery.build(:foo) now builds a fake object for the file named foo.json in
the the spec/support/fakes directory. Fakery.build(:foo, with: { bar: "something" }) builds the fake with its bar attribute set to the string
"something".
For integration testing of services you can stub an API response with
Fakery.build(:the_response).to_json for your specs.
Instantiate objects with fake data
Fakery.instance(:foo, as: TheModel) instantiates the model TheModel with the
fake's data by passing it as a hash to the model's constructor.
Fakery.instance(:foo, as: TheModel, with: { bar: "something" }) does the same
with the instances bar attribute set to the string "something".
Seeding fake data from API endpoints
Fakery.seed('http://api.example.com/foo/bar.json') returns a fake initialized
from the URL's JSON content.
Fakery.seed('http://api.example.com/foo/bar.json', register: :foo_bar) also
registers the fake with the name foo_bar.
Fakery.reseed(:foo_bar) then reseeds the fake named foo_bar from the same
URL.