Skip to content

Commit b12ae48

Browse files
author
bmarkons
committed
Make run_releases controller action
1 parent f78c699 commit b12ae48

4 files changed

Lines changed: 47 additions & 15 deletions

File tree

app/controllers/admin/repos_controller.rb

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,40 @@ def show
66

77
def run_commits
88
ManualRunner.new(@repo).run_last(
9-
params[:count].to_i,
10-
pattern: params[:pattern] == 'all' ? '' : params[:pattern]
9+
commits_count,
10+
pattern: pattern
1111
)
1212

1313
redirect_to admin_repo_path(@repo.name), notice: "#{@repo.name.capitalize} suite is running for last #{params[:count].to_i} commits."
1414
end
1515

16+
def run_releases
17+
unless versions.empty?
18+
ManualRunner.new(@repo).run_releases(
19+
versions,
20+
pattern: pattern
21+
)
22+
redirect_to admin_repo_path(@repo.name), notice: "#{@repo.name.capitalize} suite is running for selected versions."
23+
else
24+
redirect_to admin_repo_path(@repo.name), notice: 'You need to select release versions you want to run.'
25+
end
26+
end
27+
1628
private
1729

1830
def set_repo
1931
@repo = Repo.find_by(name: params[:repo_name])
2032
end
33+
34+
def versions
35+
params[:versions].split(',')
36+
end
37+
38+
def pattern
39+
params[:pattern] == 'all' ? '' : params[:pattern]
40+
end
41+
42+
def commits_count
43+
params[:count].to_i
44+
end
2145
end

test/acceptance/admin/manual_run_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class RunningSuiteManuallyTest < AcceptanceTest
77

88
test 'Admin should be able to manually run commits and releases for existing repo' do
99
visit admin_repo_path(@repo.name)
10-
10+
1111
assert page.has_css?('label', text: I18n.t('admin.commits_run_count_label'))
1212
assert page.has_css?('label', text: I18n.t('admin.manual_run_pattern_label'), count: 2)
1313
assert page.has_css?('button', text: I18n.t('admin.manual_run_button'), count: 2)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
require 'test_helper'
2+
3+
class ManualRunTest < ActionDispatch::IntegrationTest
4+
setup do
5+
@repo = create(:repo)
6+
@pattern = 'bm_test,bm_array'
7+
end
8+
9+
test 'test_running_commits_manually' do
10+
ManualRunner.any_instance.expects(:run_last).with(100, pattern: @pattern)
11+
12+
post(admin_run_commits_path(@repo.name), params: { count: 100, pattern: @pattern })
13+
end
14+
15+
test 'test_running_releases_manually' do
16+
ManualRunner.any_instance.expects(:run_releases).with(['1.0.0', '2.0.0', '3.0.0'], pattern: @pattern)
17+
18+
post(admin_run_releases_path(@repo.name), params: { versions: '1.0.0,2.0.0,3.0.0', pattern: @pattern })
19+
end
20+
end

test/integration/manual_run_test.rb

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)