Skip to content
Snippets Groups Projects
Commit 6f05ea4f authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Improve CreateContext call. Fixed test

parent 232d61d5
No related branches found
No related tags found
No related merge requests found
module Projects
class CreateContext < BaseContext
def initialize(user, params)
@current_user, @params = user, params.dup
end
def execute
# get namespace id
namespace_id = params[:project].delete(:namespace_id)
namespace_id = params.delete(:namespace_id)
 
@project = Project.new(params[:project])
@project = Project.new(params)
 
# Parametrize path for project
#
Loading
Loading
@@ -25,7 +29,7 @@ module Projects
end
else
# Set current user namespace if namespace_id is nil
@project.namespace_id = current_user.id
@project.namespace_id = current_user.namespace_id
end
 
Project.transaction do
Loading
Loading
Loading
Loading
@@ -19,7 +19,7 @@ class ProjectsController < ProjectResourceController
end
 
def create
@project = Projects::CreateContext.new(nil, current_user, params).execute
@project = Projects::CreateContext.new(current_user, params).execute
 
respond_to do |format|
flash[:notice] = 'Project was successfully created.' if @project.saved?
Loading
Loading
Loading
Loading
@@ -43,7 +43,7 @@ module Gitlab
:wall_enabled,
:merge_requests_enabled,
:wiki_enabled]
@project = Projects::CreateContext.new(nil, attrs, current_user).execute
@project = ::Projects::CreateContext.new(current_user, attrs).execute
if @project.saved?
present @project, with: Entities::Project
else
Loading
Loading
require 'spec_helper'
describe Projects::CreateContext do
describe :create_by_user do
before do
@user = create :user
@opts = {
name: "GitLab"
}
end
context 'user namespace' do
before do
@project = create_project(@user, @opts)
end
it { @project.should be_valid }
it { @project.owner.should == @user }
it { @project.namespace.should == @user.namespace }
end
context 'group namespace' do
before do
@group = create :group, owner: @user
@opts.merge!(namespace_id: @group.id)
@project = create_project(@user, @opts)
end
it { @project.should be_valid }
it { @project.owner.should == @user }
it { @project.namespace.should == @group }
end
end
def create_project(user, opts)
Projects::CreateContext.new(user, opts).execute
end
end
Loading
Loading
@@ -153,36 +153,6 @@ describe Project do
end
end
 
describe :create_by_user do
before do
@user = create :user
@opts = {
name: "GitLab"
}
end
context 'user namespace' do
before do
@project = Project.create_by_user(@opts, @user)
end
it { @project.should be_valid }
it { @project.owner.should == @user }
it { @project.namespace.should == @user.namespace }
end
context 'user namespace' do
before do
@group = create :group, owner: @user
@opts.merge!(namespace_id: @group.id)
@project = Project.create_by_user(@opts, @user)
end
it { @project.should be_valid }
it { @project.owner.should == @user }
it { @project.namespace.should == @group }
end
end
 
describe :find_with_namespace do
context 'with namespace' do
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