Added specs for the Rate#for parameter. #1920

This commit is contained in:
Eric Davis
2009-01-16 15:54:14 -08:00
parent 820337576c
commit 0d9c7e50de
2 changed files with 29 additions and 0 deletions
+4
View File
@@ -23,4 +23,8 @@ class Rate < ActiveRecord::Base
def unlocked?
return !self.locked?
end
# API to find the Rate for a +user+ on a +project+ at a +date+
def self.for(user, project = nil, date = Date.today.to_s)
end
end
+25
View File
@@ -121,3 +121,28 @@ describe Rate, 'destroy' do
}.should_not change(Rate, :count)
end
end
describe Rate, 'for' do
describe 'parameters' do
before(:each) do
@user = mock_model(User)
@project = mock_model(Project)
@date = '2009-01-01'
end
it 'should be passed user' do
lambda {Rate.for}.should raise_error(ArgumentError)
end
it 'can be passed an optional project' do
lambda {Rate.for(@user)}.should_not raise_error(ArgumentError)
lambda {Rate.for(@user, @project)}.should_not raise_error(ArgumentError)
end
it 'can be passed an optional date string' do
lambda {Rate.for(@user)}.should_not raise_error(ArgumentError)
lambda {Rate.for(@user, nil, @date)}.should_not raise_error(ArgumentError)
end
end
end