Skip to content

Commit 7018749

Browse files
authored
Merge pull request #1320 from Shopify/kovyrin/task-var-override
Allow overrides for default task values via URL parameters
2 parents 28907e8 + d9785f7 commit 7018749

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

app/views/shipit/_variables.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<% if variable.select %>
1010
<%= field.select variable.name, options_for_select([["Please select...", { disabled: "disabled" }]] + variable.select, variable.default || "Please select...") %>
1111
<% else %>
12-
<%= field.text_field variable.name, value: variable.default %>
12+
<%= field.text_field variable.name, value: params[variable.name].presence || variable.default %>
1313
<% end %>
1414
<%= field.label variable.name, variable.title || variable.name %>
1515
</p>

test/controllers/tasks_controller_test.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,16 @@ class TasksControllerTest < ActionController::TestCase
1111
session[:user_id] = shipit_users(:walrus).id
1212
end
1313

14-
test "tasks defined in the shipit.yml can be displayed" do
14+
test "tasks defined in the shipit.yml can be displayed with default variable values" do
1515
get :new, params: { stack_id: @stack, definition_id: @definition.id }
1616
assert_response :ok
17+
assert_select 'input[name="task[env][FOO]"][value="1"]'
18+
end
19+
20+
test "it is possible to provide a default value override for a task" do
21+
get :new, params: { stack_id: @stack, definition_id: @definition.id, FOO: '42' }
22+
assert_response :ok
23+
assert_select 'input[name="task[env][FOO]"][value="42"]'
1724
end
1825

1926
test "tasks defined in the shipit.yml can't be triggered if the stack is being deployed" do

0 commit comments

Comments
 (0)