Merge pull request #1378 from NARKOZ/validations

validate boolean attributes
This commit is contained in:
Dmitriy Zaporozhets 2012-09-05 04:07:35 -07:00
commit 19a5219746
6 changed files with 12 additions and 4 deletions

View file

@ -323,7 +323,7 @@ GEM
multi_json (~> 1.0)
rubyzip
settingslogic (2.0.8)
shoulda-matchers (1.1.0)
shoulda-matchers (1.3.0)
activesupport (>= 3.0.0)
simplecov (0.6.4)
multi_json (~> 1.0)

View file

@ -104,6 +104,8 @@ class Project < ActiveRecord::Base
length: { within: 1..255 }
validates :owner, presence: true
validates :issues_enabled, :wall_enabled, :merge_requests_enabled,
:wiki_enabled, inclusion: { in: [true, false] }
validate :check_limit
validate :repo_name

View file

@ -16,7 +16,7 @@ module IssueCommonality
validates :title,
presence: true,
length: { within: 0..255 }
validates :closed, inclusion: { in: [true, false] }
scope :opened, where(closed: false)
scope :closed, where(closed: true)

View file

@ -7,6 +7,7 @@ describe Issue do
describe "Validation" do
it { should ensure_length_of(:description).is_within(0..2000) }
it { should ensure_inclusion_of(:closed).in_array([true, false]) }
end
describe 'modules' do

View file

@ -9,6 +9,7 @@ describe Milestone do
describe "Validation" do
it { should validate_presence_of(:title) }
it { should validate_presence_of(:project_id) }
it { should ensure_inclusion_of(:closed).in_array([true, false]) }
end
let(:milestone) { Factory :milestone }

View file

@ -37,6 +37,10 @@ describe Project do
# TODO: Formats
it { should validate_presence_of(:owner) }
it { should ensure_inclusion_of(:issues_enabled).in_array([true, false]) }
it { should ensure_inclusion_of(:wall_enabled).in_array([true, false]) }
it { should ensure_inclusion_of(:merge_requests_enabled).in_array([true, false]) }
it { should ensure_inclusion_of(:wiki_enabled).in_array([true, false]) }
it "should not allow new projects beyond user limits" do
project.stub(:owner).and_return(double(can_create_project?: false, projects_limit: 1))
@ -239,7 +243,7 @@ describe Project do
end
end
describe :update_merge_requests do
describe :update_merge_requests do
let(:project) { Factory :project }
before do
@ -259,7 +263,7 @@ describe Project do
@merge_request.closed.should be_true
end
it "should update merge request commits with new one if pushed to source branch" do
it "should update merge request commits with new one if pushed to source branch" do
@merge_request.last_commit.should == nil
project.update_merge_requests("8716fc78f3c65bbf7bcf7b574febd583bc5d2812", "bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a", "refs/heads/master", @key.user)
@merge_request.reload