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

Improve CreateContext call. Fixed test

parent 232d61d5
module Projects module Projects
class CreateContext < BaseContext class CreateContext < BaseContext
def initialize(user, params)
@current_user, @params = user, params.dup
end
def execute def execute
# get namespace id # 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 # Parametrize path for project
# #
...@@ -25,7 +29,7 @@ module Projects ...@@ -25,7 +29,7 @@ module Projects
end end
else else
# Set current user namespace if namespace_id is nil # Set current user namespace if namespace_id is nil
@project.namespace_id = current_user.id @project.namespace_id = current_user.namespace_id
end end
Project.transaction do Project.transaction do
......
...@@ -19,7 +19,7 @@ class ProjectsController < ProjectResourceController ...@@ -19,7 +19,7 @@ class ProjectsController < ProjectResourceController
end end
def create def create
@project = Projects::CreateContext.new(nil, current_user, params).execute @project = Projects::CreateContext.new(current_user, params).execute
respond_to do |format| respond_to do |format|
flash[:notice] = 'Project was successfully created.' if @project.saved? flash[:notice] = 'Project was successfully created.' if @project.saved?
......
...@@ -43,7 +43,7 @@ module Gitlab ...@@ -43,7 +43,7 @@ module Gitlab
:wall_enabled, :wall_enabled,
:merge_requests_enabled, :merge_requests_enabled,
:wiki_enabled] :wiki_enabled]
@project = Projects::CreateContext.new(nil, attrs, current_user).execute @project = ::Projects::CreateContext.new(current_user, attrs).execute
if @project.saved? if @project.saved?
present @project, with: Entities::Project present @project, with: Entities::Project
else 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 ...@@ -153,36 +153,6 @@ describe Project do
end end
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 describe :find_with_namespace do
context '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