summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spec/contexts/issues/bulk_update_context_spec.rb77
1 files changed, 77 insertions, 0 deletions
diff --git a/spec/contexts/issues/bulk_update_context_spec.rb b/spec/contexts/issues/bulk_update_context_spec.rb
new file mode 100644
index 00000000000..0ea1799f5c9
--- /dev/null
+++ b/spec/contexts/issues/bulk_update_context_spec.rb
@@ -0,0 +1,77 @@
+require 'spec_helper'
+
+describe Issues::BulkUpdateContext do
+
+ describe :close_issue do
+
+ before do
+ @user = create :user
+ opts = {
+ name: "GitLab"
+ }
+ @project = create_project(@user, opts)
+ @issues = 5.times.collect do
+ create(:issue, project: @project)
+ end
+ @params = {
+ update: {
+ status: 'closed',
+ issues_ids: @issues.map(&:id)
+ }
+ }
+
+ end
+
+ it "close issues" do
+ Issues::BulkUpdateContext.new(@project, @user, @params).execute
+ @project.issues.opened.should be_empty
+ @project.issues.closed.should_not be_empty
+ end
+
+ it "return success" do
+ result = Issues::BulkUpdateContext.new(@project, @user, @params).execute
+ result[:success].should be_true
+ result[:count].should == @issues.count
+ end
+
+ end
+
+ describe :reopen_issues do
+
+ before do
+ @user = create :user
+ opts = {
+ name: "GitLab"
+ }
+ @project = create_project(@user, opts)
+ @issues = 5.times.collect do
+ create(:closed_issue, project: @project)
+ end
+ @params = {
+ update: {
+ status: 'reopen',
+ issues_ids: @issues.map(&:id)
+ }
+ }
+
+ end
+
+ it "reopen issues" do
+ Issues::BulkUpdateContext.new(@project, @user, @params).execute
+ @project.issues.closed.should be_empty
+ @project.issues.opened.should_not be_empty
+ end
+
+ it "return success" do
+ result = Issues::BulkUpdateContext.new(@project, @user, @params).execute
+ result[:success].should be_true
+ result[:count].should == @issues.count
+ end
+
+ end
+
+ def create_project(user, opts)
+ Projects::CreateContext.new(user, opts).execute
+ end
+end
+