Commit 6f05ea4f authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Improve CreateContext call. Fixed test

parent 232d61d5
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
#
......@@ -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
......
......@@ -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?
......
......@@ -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
......
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
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment