Shoulda-style matchers to help with testing grape entities.
Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec Add DocumentMatcher Aug 1, 2016
.gitignore
.rspec
.travis.yml change the versions we test against Jun 8, 2016
.yardopts
CHANGELOG.markdown
Gemfile
Guardfile add support for rspec3 Jul 30, 2014
LICENSE
README.markdown Add DocumentMatcher Aug 1, 2016
Rakefile
grape-entity-matchers.gemspec

README.markdown

Grape::Entity::Matchers

Build Status

Introduction

This gem provides shoulda-style matchers for Rspec to GrapeEntity.

Currently compatible Rspec 3.

Using the Matchers

Here are some examples of the matchers in use:

it { is_expected.to represent(:date_of_birth).as(:birthday) }
it { is_expected.to_not represent(:name).as(:birthday) }
it { is_expected.to_not represent(:date_of_birth) }

it { is_expected.to represent(:secret).when( :authorized? => true ) }
it { is_expected.to_not represent(:secret).when( :authorized? => false ) }

it { is_expected.to represent(:super_dooper_secret).as(:top_secret).when( :authorized? => true ) }
it { is_expected.to_not represent(:super_dooper_secret).as(:top_secret).when( :authorized? => false ) }

it { is_expected.to represent(:dog).using(PetEntity) }
it { is_expected.to represent(:cat).as(:kitty).using(PetEntity) }

it { is_expected.to represent(:name).with_documentation(type: String) }

it { is_expected.to document(:name).with(type: String, desc: 'Name of the person') }
it { is_expected.to document(:name).type(String).desc('Name of the person') }

Support for Rspec 2.0.0

Rspec 2.0.0 is no longer supported. For Rspec 2 use version 0.4.0.

Minitest

It's coming next.

Installation

Add this line to your application's Gemfile:

gem 'grape-entity-matchers', :group => :test

And then execute:

$ bundle

Or install it yourself as:

$ gem install grape-entity-matchers

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

MIT License. See LICENSE for details.

Copyright

Copyright (c) 2014 Mark Madsen, and AGiLE ANiMAL INC.