This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
Matthew (author)
Sat Aug 22 06:13:35 -0700 2009
| name | age | message | |
|---|---|---|---|
| |
.gitignore | ||
| |
CHANGELOG | ||
| |
MIT-LICENSE | ||
| |
README | ||
| |
Rakefile | ||
| |
init.rb | ||
| |
lib/ | ||
| |
rspec_validation_expectations.gemspec | ||
| |
test/ |
README
= rspec_validation_expectations
Adds several handy expectations for testing ActiveRecord model validations and associations.
== Dependencies
Requires the validation_reflection plugin:
script/plugin install git://github.com/redinger/validation_reflection.git
== Installation
Install the gem directly:
sudo gem install pelargir-rspec_validation_expectations --source=http://gems.github.com
Or install the gem in your Rails project:
script/plugin install git://github.com/pelargir/rspec_validation_expectations.git
Or clone the project:
git clone git://github.com/pelargir/rspec_validation_expectations.git
== Usage
Ensure that validations and assocations are properly defined in your models:
describe User do
it_should_validate_presence_of :first_name, :last_name, :email
it_should_validate_numericality_of :zip
it_should_validate_uniqueness_of :email
it_should_validate_inclusion_of :gender, :in => %w(Male Female)
# tests that User.count increases by 1
it_should_be_createable :with => {:first_name => 'Ed', :last_name => 'The Duck', :email => 'a@b.com'}
it_should_belong_to :employer
it_should_have_many :friends, :romans, :countrymen
it_should_have_one :account
it_should_have_and_belong_to_many :comments
# tests that the attribute is protected
it_should_protect :email
end
Which gives you:
ruby script/spec --format s spec/models/user_spec.rb:
User
- should validate presence of first name
- should validate presence of last name
- should validate presence of email
- should validate numericality of zip
- should validate uniqueness of email
- should validate inclusion of gender as one of Male or Female
- should be creatable
- should belong to employer
- should have many friends
- should have many romans
- should have many countrymen
- should have one account
- should have and belong to many comments
- should protect email
== Resources
Repository: http://github.com/pelargir/rspec_validation_expectations/
Blog: http://matthewbass.com
Author: Matthew Bass








