Added specs for the Rate#for parameter. #1920
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user