diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-04-09 02:01:42 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-04-09 02:01:42 +0400 |
commit | d98b1833612af09fb405880ef7acd63a4e2a42fa (patch) | |
tree | aeaccad8bca98675765206f2856db2509c3c29bf /spec/models/milestone_spec.rb | |
parent | 23d950855d6d2524d00b1f0618c008e2529f06a4 (diff) |
first pack of tests for milestones
Diffstat (limited to 'spec/models/milestone_spec.rb')
-rw-r--r-- | spec/models/milestone_spec.rb | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/spec/models/milestone_spec.rb b/spec/models/milestone_spec.rb index 326d908758b..ba117986658 100644 --- a/spec/models/milestone_spec.rb +++ b/spec/models/milestone_spec.rb @@ -1,5 +1,40 @@ require 'spec_helper' describe Milestone do - pending "add some examples to (or delete) #{__FILE__}" + describe "Associations" do + it { should belong_to(:project) } + it { should have_many(:issues) } + end + + describe "Validation" do + it { should validate_presence_of(:title) } + it { should validate_presence_of(:project_id) } + end + + let(:project) { Factory :project } + let(:milestone) { Factory :milestone, :project => project } + let(:issue) { Factory :issue, :project => project } + + it { milestone.should be_valid } + + describe "Issues" do + before do + milestone.issues << issue + end + + it { milestone.percent_complete.should == 0 } + + it do + issue.update_attributes :closed => true + milestone.percent_complete.should == 100 + end + end + + describe :expires_at do + before do + milestone.update_attributes :due_date => Date.today + 1.day + end + + it { milestone.expires_at.should_not be_nil } + end end |