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:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-04-19 13:47:34 +0300
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-04-28 13:49:46 +0300
commit60492caa98d7da6d1dd04710c9bc3f762bdceebd (patch)
treede096b08e69f8454ff8e27b3437813b4e157a0b2 /spec/models
parent7518330aa197930282121ac489a01987c20b6e00 (diff)
Add tests exercising builds scheduler after cancel
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/ci/commit_spec.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/models/ci/commit_spec.rb b/spec/models/ci/commit_spec.rb
index 0bc7722ce6e..6055c142e21 100644
--- a/spec/models/ci/commit_spec.rb
+++ b/spec/models/ci/commit_spec.rb
@@ -258,6 +258,24 @@ describe Ci::Commit, models: true do
expect(commit.status).to eq('failed')
end
end
+
+ context 'when build is canceled in the second stage' do
+ it 'does not schedule builds after build has been canceled' do
+ expect(create_builds).to be_truthy
+ expect(commit.builds.pluck(:name)).to contain_exactly('build')
+ expect(commit.builds.pluck(:status)).to contain_exactly('pending')
+ commit.builds.running_or_pending.each(&:success)
+
+ expect(commit.builds.running_or_pending).to_not be_empty
+
+ expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test')
+ expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending')
+ commit.builds.running_or_pending.each(&:cancel)
+
+ expect(commit.builds.running_or_pending).to be_empty
+ expect(commit.reload.status).to eq('canceled')
+ end
+ end
end
end