Add create feature to triggers API
This commit is contained in:
parent
f00607431c
commit
49c8bf4e9b
2 changed files with 45 additions and 0 deletions
|
@ -62,6 +62,22 @@ module API
|
|||
present triggers, with: Entities::Trigger
|
||||
end
|
||||
|
||||
# Create trigger
|
||||
#
|
||||
# Parameters:
|
||||
# id (required) - The ID of a project
|
||||
# Example Request:
|
||||
# POST /projects/:id/triggers
|
||||
post ':id/triggers' do
|
||||
authenticate!
|
||||
authorize_admin_project
|
||||
|
||||
trigger = user_project.triggers.new
|
||||
trigger.save
|
||||
|
||||
present trigger, with: Entities::Trigger
|
||||
end
|
||||
|
||||
# Delete trigger
|
||||
#
|
||||
# Parameters:
|
||||
|
|
|
@ -115,6 +115,35 @@ describe API::API do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'POST /projects/:id/triggets' do
|
||||
context 'authenticated user with valid permissions' do
|
||||
it 'should create trigger' do
|
||||
expect do
|
||||
post api("/projects/#{project.id}/triggers", user)
|
||||
end.to change{project.triggers.count}.by(1)
|
||||
|
||||
expect(response.status).to eq(201)
|
||||
expect(json_response).to be_a(Hash)
|
||||
end
|
||||
end
|
||||
|
||||
context 'authenticated user with invalid permissions' do
|
||||
it 'should not create trigger' do
|
||||
post api("/projects/#{project.id}/triggers", user2)
|
||||
|
||||
expect(response.status).to eq(403)
|
||||
end
|
||||
end
|
||||
|
||||
context 'unauthentikated user' do
|
||||
it 'should not create trigger' do
|
||||
post api("/projects/#{project.id}/triggers")
|
||||
|
||||
expect(response.status).to eq(401)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'DELETE /projects/:id/triggets/:trigger_id' do
|
||||
context 'authenticated user with valid permissions' do
|
||||
it 'should delete trigger' do
|
||||
|
|
Loading…
Reference in a new issue