Fix optional args for POST :id/variables
Always use declared_params(include_missing: false) so that we don't give nils for optional arguments
This commit is contained in:
parent
ad3843aee1
commit
01960fce25
2 changed files with 12 additions and 1 deletions
|
@ -45,7 +45,7 @@ module API
|
|||
optional :protected, type: String, desc: 'Whether the variable is protected'
|
||||
end
|
||||
post ':id/variables' do
|
||||
variable = user_project.variables.create(declared(params, include_parent_namespaces: false).to_h)
|
||||
variable = user_project.variables.create(declared_params(include_missing: false))
|
||||
|
||||
if variable.valid?
|
||||
present variable, with: Entities::Variable
|
||||
|
|
|
@ -82,6 +82,17 @@ describe API::Variables do
|
|||
expect(json_response['protected']).to be_truthy
|
||||
end
|
||||
|
||||
it 'creates variable with optional attributes' do
|
||||
expect do
|
||||
post api("/projects/#{project.id}/variables", user), key: 'TEST_VARIABLE_2', value: 'VALUE_2'
|
||||
end.to change{project.variables.count}.by(1)
|
||||
|
||||
expect(response).to have_http_status(201)
|
||||
expect(json_response['key']).to eq('TEST_VARIABLE_2')
|
||||
expect(json_response['value']).to eq('VALUE_2')
|
||||
expect(json_response['protected']).to be_falsey
|
||||
end
|
||||
|
||||
it 'does not allow to duplicate variable key' do
|
||||
expect do
|
||||
post api("/projects/#{project.id}/variables", user), key: variable.key, value: 'VALUE_2'
|
||||
|
|
Loading…
Reference in a new issue