[フレーム]
Last Updated: February 25, 2016
·
1.569K
· countxyz

Rails: Specs for Inclusion Validations

assignment.rb

class Assignment < ActiveRecord::Base
 STATUS_OPTIONS = ['Not Started', 'In Progress', 'Completed']
 validates :status, presence: true, inclusion: STATUS_OPTIONS
end

assignment_spec.rb

describe 'status' do
 context 'valid entry' do
 ['Not Started', 'In Progress', 'Completed'].each do |valid_status|

 it "is valid with 'Not Started', 'In Progress', 'Completed'" do
 expect(build(:assignment, status: valid_status)).to be_valid
 end
 end
 end

 context 'invalid entry' do
 it "is invalid without 'Not Started', 'In Progress', 'Completed'" do
 expect(build(:assignment, status: 'a')).to_not be_valid
 end
 end
end

AltStyle によって変換されたページ (->オリジナル) /