Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-04-09 02:01:42 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-04-09 02:01:42 +0400
commitd98b1833612af09fb405880ef7acd63a4e2a42fa (patch)
treeaeaccad8bca98675765206f2856db2509c3c29bf /spec/models/milestone_spec.rb
parent23d950855d6d2524d00b1f0618c008e2529f06a4 (diff)
first pack of tests for milestones
Diffstat (limited to 'spec/models/milestone_spec.rb')
-rw-r--r--spec/models/milestone_spec.rb37
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