RSpec extensions collection¶ ↑
This is a collection of various RSpec extensions I would like to use for multiple projects. The primary purpose is for me to use them anywhere so it's not necessarily made for generic use.
Install¶ ↑
Put the following in Gemfile: gem "rspec_extensions_collection" Then execute: bundle install
Set up¶ ↑
Note: This gem is using FactoryGirl as Factory. So in the project using this gem, FactoryGirl must be set up. So in Gemfile, either of the followings should be put: For non Ruby on Rails project: gem "factory_girl", ">=2.0.0.beta1" For Ruby on Rails project: gem "factory_girl_rails", ">=1.1.beta1" Then under spec directory, create a file factories.rb. See https://github.com/thoughtbot/factory_girl for more detail. 1. Helpers Include a helper you want to use in Spec. Or include a helper in spec_helper.rb. e.g. config.include RSpecExtensionsCollection::Matchers::MongoidModelHelpers 2. Matchers Put the following in spec_helper.rb: config.include RSpecExtensionsCollection::Matchers
Usage¶ ↑
1. Helpers 2. Matchers 2-1. SearchMatcher search_by(*args) args: List of field name symbols. Last argument can be Hash of options. :locale - Specifies the locale on which the filtering the search result is based on. "en" or "fr". The method to test: search(keyword) Example: BlogPost.should search_by(:title, :content, :locale => I18n.locale.to_s) 2-2. SearchEmbeddedMatcher - For Mongoid embedded documents. search_embedded_by(association_name, *args) association_name: Name of the embedded document specified in the parent document. args: List of field name symbols. Last argument can be Hash of options. :locale - Specifies the locale on which the filtering the search result is based on. "en" or "fr". The method to test: search_embedded_by(keyword) Example: BlogPost.should search_embedded_by(:comments, :content, :locale => I18n.locale.to_s)
License¶ ↑
Copyright (c) 2010-2011, Tadatoshi Takahashi RSpec extensions collection is released under the MIT license.