Prefer attributes_for_keys so that it ignores nils

Also add a test for setting locked.
This commit is contained in:
Lin Jen-Shin 2016-06-07 14:50:38 +08:00
parent 894d22f49a
commit 781d35c191
2 changed files with 7 additions and 9 deletions

View File

@ -28,13 +28,9 @@ module Ci
post "register" do
required_attributes! [:token]
attributes = { description: params[:description],
tag_list: params[:tag_list],
locked: !!params[:locked] }
unless params[:run_untagged].nil?
attributes[:run_untagged] = params[:run_untagged]
end
attributes = attributes_for_keys(
[:description, :tag_list, :run_untagged, :locked]
)
runner =
if runner_registration_token_valid?

View File

@ -187,14 +187,16 @@ describe API::Runners, api: true do
update_runner(shared_runner.id, admin, description: "#{description}_updated",
active: !active,
tag_list: ['ruby2.1', 'pgsql', 'mysql'],
run_untagged: 'false')
run_untagged: 'false',
locked: 'true')
shared_runner.reload
expect(response.status).to eq(200)
expect(shared_runner.description).to eq("#{description}_updated")
expect(shared_runner.active).to eq(!active)
expect(shared_runner.tag_list).to include('ruby2.1', 'pgsql', 'mysql')
expect(shared_runner.run_untagged?).to be false
expect(shared_runner.run_untagged?).to be(false)
expect(shared_runner.locked?).to be(true)
end
end