diff options
| author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-02-19 11:01:19 +0200 |
|---|---|---|
| committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-02-19 11:01:19 +0200 |
| commit | 155703c6132a86c13a18dba65da19129f49ea9c9 (patch) | |
| tree | 621b90b97ad824e19f31152967d6e8ffd4a05b09 /spec/models | |
| parent | 52028dcd2d5a4048a6751312c6f1eba49013ce22 (diff) | |
| parent | 6e333d507565a63037e9f4142a29138efa530971 (diff) | |
| download | gitlab-ce-155703c6132a86c13a18dba65da19129f49ea9c9.tar.gz | |
Merge branch 'state-machine' of https://github.com/Undev/gitlabhq into Undev-state-machine
Conflicts:
app/models/issue.rb
app/models/merge_request.rb
Diffstat (limited to 'spec/models')
| -rw-r--r-- | spec/models/concerns/issuable_spec.rb | 1 | ||||
| -rw-r--r-- | spec/models/issue_spec.rb | 35 | ||||
| -rw-r--r-- | spec/models/merge_request_spec.rb | 37 | ||||
| -rw-r--r-- | spec/models/milestone_spec.rb | 39 | ||||
| -rw-r--r-- | spec/models/project_spec.rb | 8 |
5 files changed, 48 insertions, 72 deletions
diff --git a/spec/models/concerns/issuable_spec.rb b/spec/models/concerns/issuable_spec.rb index b5d4bd7b406..551e1753be0 100644 --- a/spec/models/concerns/issuable_spec.rb +++ b/spec/models/concerns/issuable_spec.rb @@ -15,7 +15,6 @@ describe Issue, "Issuable" do it { should validate_presence_of(:author) } it { should validate_presence_of(:title) } it { should ensure_length_of(:title).is_at_least(0).is_at_most(255) } - it { should ensure_inclusion_of(:closed).in_array([true, false]) } end describe "Scope" do diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 10db53e0745..99d9f65b0d7 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -9,7 +9,7 @@ # project_id :integer # created_at :datetime not null # updated_at :datetime not null -# closed :boolean default(FALSE), not null +# state :string default(FALSE), not null # position :integer default(0) # branch_name :string(255) # description :text @@ -44,34 +44,15 @@ describe Issue do end end - describe '#is_being_closed?' do - it 'returns true if the closed attribute has changed and is now true' do - subject.closed = true - subject.is_being_closed?.should be_true - end - it 'returns false if the closed attribute has changed and is now false' do - issue = create(:closed_issue) - issue.closed = false - issue.is_being_closed?.should be_false - end - it 'returns false if the closed attribute has not changed' do - subject.is_being_closed?.should be_false - end - end + describe '#is_being_reassigned?' do + it 'returnes issues assigned to user' do + user = create :user + 2.times do + issue = create :issue, assignee: user + end - describe '#is_being_reopened?' do - it 'returns true if the closed attribute has changed and is now false' do - issue = create(:closed_issue) - issue.closed = false - issue.is_being_reopened?.should be_true - end - it 'returns false if the closed attribute has changed and is now true' do - subject.closed = true - subject.is_being_reopened?.should be_false - end - it 'returns false if the closed attribute has not changed' do - subject.is_being_reopened?.should be_false + Issue.open_for(user).count.should eq 2 end end end diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 41f4ede5d89..e61bf44ce53 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -15,7 +15,7 @@ # st_commits :text(2147483647) # st_diffs :text(2147483647) # merged :boolean default(FALSE), not null -# state :integer default(1), not null +# merge_status :integer default(1), not null # milestone_id :integer # @@ -37,6 +37,10 @@ describe MergeRequest do end describe "#mr_and_commit_notes" do + + end + + describe "#mr_and_commit_notes" do let!(:merge_request) { create(:merge_request) } before do @@ -62,35 +66,4 @@ describe MergeRequest do subject.is_being_reassigned?.should be_false end end - - describe '#is_being_closed?' do - it 'returns true if the closed attribute has changed and is now true' do - subject.closed = true - subject.is_being_closed?.should be_true - end - it 'returns false if the closed attribute has changed and is now false' do - merge_request = create(:closed_merge_request) - merge_request.closed = false - merge_request.is_being_closed?.should be_false - end - it 'returns false if the closed attribute has not changed' do - subject.is_being_closed?.should be_false - end - end - - - describe '#is_being_reopened?' do - it 'returns true if the closed attribute has changed and is now false' do - merge_request = create(:closed_merge_request) - merge_request.closed = false - merge_request.is_being_reopened?.should be_true - end - it 'returns false if the closed attribute has changed and is now true' do - subject.closed = true - subject.is_being_reopened?.should be_false - end - it 'returns false if the closed attribute has not changed' do - subject.is_being_reopened?.should be_false - end - end end diff --git a/spec/models/milestone_spec.rb b/spec/models/milestone_spec.rb index 2ea2c56a6f7..b473f843146 100644 --- a/spec/models/milestone_spec.rb +++ b/spec/models/milestone_spec.rb @@ -7,7 +7,7 @@ # project_id :integer not null # description :text # due_date :date -# closed :boolean default(FALSE), not null +# state :string default(FALSE), not null # created_at :datetime not null # updated_at :datetime not null # @@ -27,7 +27,6 @@ describe Milestone do describe "Validation" do it { should validate_presence_of(:title) } it { should validate_presence_of(:project) } - it { should ensure_inclusion_of(:closed).in_array([true, false]) } end let(:milestone) { create(:milestone) } @@ -41,7 +40,7 @@ describe Milestone do it "should count closed issues" do IssueObserver.current_user = issue.author - issue.update_attributes(closed: true) + issue.close milestone.issues << issue milestone.percent_complete.should == 100 end @@ -96,7 +95,7 @@ describe Milestone do describe :items_count do before do milestone.issues << create(:issue) - milestone.issues << create(:issue, closed: true) + milestone.issues << create(:closed_issue) milestone.merge_requests << create(:merge_request) end @@ -110,7 +109,35 @@ describe Milestone do it { milestone.can_be_closed?.should be_true } end - describe :open? do - it { milestone.open?.should be_true } + describe :is_empty? do + before do + issue = create :closed_issue, milestone: milestone + merge_request = create :merge_request, milestone: milestone + end + + it 'Should return total count of issues and merge requests assigned to milestone' do + milestone.total_items_count.should eq 2 + end + end + + describe :can_be_closed? do + before do + milestone = create :milestone + create :closed_issue, milestone: milestone + + issue = create :issue + end + + it 'should be true if milestone active and all nestied issues closed' do + milestone.can_be_closed?.should be_true + end + + it 'should be false if milestone active and not all nestied issues closed' do + issue.milestone = milestone + issue.save + + milestone.can_be_closed?.should be_false + end end + end diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 4b620a2fa3e..5c27f363401 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -121,10 +121,7 @@ describe Project do let(:project) { create(:project) } before do - @merge_request = create(:merge_request, - project: project, - merged: false, - closed: false) + @merge_request = create(:merge_request, project: project) @key = create(:key, user_id: project.owner.id) end @@ -133,8 +130,7 @@ describe Project do @merge_request.last_commit.id.should == "bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a" project.update_merge_requests("8716fc78f3c65bbf7bcf7b574febd583bc5d2812", "bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a", "refs/heads/stable", @key.user) @merge_request.reload - @merge_request.merged.should be_true - @merge_request.closed.should be_true + @merge_request.merged?.should be_true end it "should update merge request commits with new one if pushed to source branch" do |
