Skip to content

Commit

Permalink
Merge pull request #1320 from Shopify/kovyrin/task-var-override
Browse files Browse the repository at this point in the history
Allow overrides for default task values via URL parameters
  • Loading branch information
kovyrin committed Dec 14, 2023
2 parents 28907e8 + d9785f7 commit 7018749
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
2 changes: 1 addition & 1 deletion app/views/shipit/_variables.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<% if variable.select %>
<%= field.select variable.name, options_for_select([["Please select...", { disabled: "disabled" }]] + variable.select, variable.default || "Please select...") %>
<% else %>
<%= field.text_field variable.name, value: variable.default %>
<%= field.text_field variable.name, value: params[variable.name].presence || variable.default %>
<% end %>
<%= field.label variable.name, variable.title || variable.name %>
</p>
Expand Down
9 changes: 8 additions & 1 deletion test/controllers/tasks_controller_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,16 @@ class TasksControllerTest < ActionController::TestCase
session[:user_id] = shipit_users(:walrus).id
end

test "tasks defined in the shipit.yml can be displayed" do
test "tasks defined in the shipit.yml can be displayed with default variable values" do
get :new, params: { stack_id: @stack, definition_id: @definition.id }
assert_response :ok
assert_select 'input[name="task[env][FOO]"][value="1"]'
end

test "it is possible to provide a default value override for a task" do
get :new, params: { stack_id: @stack, definition_id: @definition.id, FOO: '42' }
assert_response :ok
assert_select 'input[name="task[env][FOO]"][value="42"]'
end

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

0 comments on commit 7018749

Please sign in to comment.