Skip to content
Snippets Groups Projects
Commit c1173e27 authored by Alex Denisov's avatar Alex Denisov
Browse files

API on Projects creation implemented

parent 65abd8b2
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -23,6 +23,27 @@ module Gitlab
present user_project, with: Entities::Project
end
 
# Create new project
#
# Parameters:
# name (required) - name for new project
# code (optional) - code for new project, if not set used name
# path (optional) - oath for new project, if not set used name
# Example Request
# POST /projects
post do
project = {}
project[:name] = params[:name]
project[:code] = params[:code] || project[:name]
project[:path] = params[:path] || project[:name]
@project = Project.create_by_user(project, current_user)
if @project.saved?
present @project, with: Entities::Project
else
error!({'message' => '404 Not found'}, 404)
end
end
# Get a project repository branches
#
# Parameters:
Loading
Loading
Loading
Loading
@@ -25,6 +25,43 @@ describe Gitlab::API do
end
end
 
describe "POST /projects" do
it "should create new project without code and path" do
lambda {
name = "foo"
post api("/projects", user), {
name: name
}
response.status.should == 201
json_response["name"].should == name
json_response["code"].should == name
json_response["path"].should == name
}.should change{Project.count}.by(1)
end
it "should create new project" do
lambda {
name = "foo"
path = "bar"
code = "bazz"
post api("/projects", user), {
code: code,
path: path,
name: name
}
response.status.should == 201
json_response["name"].should == name
json_response["path"].should == path
json_response["code"].should == code
}.should change{Project.count}.by(1)
end
it "should not create project without name" do
lambda {
post api("/projects", user)
response.status.should == 404
}.should_not change{Project.count}
end
end
describe "GET /projects/:id" do
it "should return a project by id" do
get api("/projects/#{project.id}", user)
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment