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

Continue refactoring. Use repostory and team

parent 39ba934c
No related branches found
No related tags found
No related merge requests found
Showing
with 67 additions and 58 deletions
Loading
Loading
@@ -15,13 +15,13 @@
= f.label :path do
Repository
.controls
= text_field_tag :ppath, @project.path_to_repo, class: "xxlarge", readonly: true
= text_field_tag :ppath, @repository.path_to_repo, class: "xxlarge", readonly: true
 
 
- unless @project.heads.empty?
- unless @repository.heads.empty?
.clearfix
= f.label :default_branch, "Default Branch"
.input= f.select(:default_branch, @project.heads.map(&:name), {}, style: "width:210px;")
.input= f.select(:default_branch, @repository.heads.map(&:name), {}, style: "width:210px;")
 
%fieldset.features
%legend Features:
Loading
Loading
Loading
Loading
@@ -11,7 +11,7 @@ class PostReceive
 
# Ignore push from non-gitlab users
user = if identifier.eql? Gitlab.config.gitolite.admin_key
email = project.commit(newrev).author.email rescue nil
email = project.repository.commit(newrev).author.email rescue nil
User.find_by_email(email) if email
elsif /^[A-Z0-9._%a-z\-]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,4}$/.match(identifier)
User.find_by_email(identifier)
Loading
Loading
Loading
Loading
@@ -16,7 +16,7 @@ class AdminGroups < Spinach::FeatureSteps
@project = create(:project, group: @group)
@event = create(:closed_issue_event, project: @project)
 
@project.add_access current_user, :admin
@project.team << [current_user, :master]
end
 
And 'Create gitlab user "John"' do
Loading
Loading
Loading
Loading
@@ -61,7 +61,7 @@ class Dashboard < Spinach::FeatureSteps
 
And 'I own project "Shop"' do
@project = create :project, name: 'Shop'
@project.add_access(@user, :admin)
@project.team << [@user, :master]
end
 
And 'I have group with projects' do
Loading
Loading
@@ -69,7 +69,7 @@ class Dashboard < Spinach::FeatureSteps
@project = create(:project, group: @group)
@event = create(:closed_issue_event, project: @project)
 
@project.add_access current_user, :admin
@project.team << [current_user, :master]
end
 
And 'project "Shop" has push event' do
Loading
Loading
Loading
Loading
@@ -13,7 +13,7 @@ class DashboardIssues < Spinach::FeatureSteps
 
And 'I have assigned issues' do
project = create :project
project.add_access(@user, :read, :write)
project.team << [@user, :master]
 
2.times { create :issue, author: @user, assignee: @user, project: project }
end
Loading
Loading
Loading
Loading
@@ -14,8 +14,8 @@ class DashboardMergeRequests < Spinach::FeatureSteps
project1 = create :project
project2 = create :project
 
project1.add_access(@user, :read, :write)
project2.add_access(@user, :read, :write)
project1.team << [@user, :master]
project2.team << [@user, :master]
 
merge_request1 = create :merge_request, author: @user, project: project1
merge_request2 = create :merge_request, author: @user, project: project2
Loading
Loading
class DashboardSearch < Spinach::FeatureSteps
include SharedAuthentication
include SharedPaths
include SharedProject
 
Given 'I search for "Sho"' do
fill_in "dashboard_search", with: "Sho"
Loading
Loading
@@ -11,11 +12,6 @@ class DashboardSearch < Spinach::FeatureSteps
page.should have_link "Shop"
end
 
And 'I own project "Shop"' do
@project = create(:project, :name => "Shop")
@project.add_access(@user, :admin)
end
Given 'I search for "Contibuting"' do
fill_in "dashboard_search", with: "Contibuting"
click_button "Search"
Loading
Loading
Loading
Loading
@@ -13,7 +13,7 @@ class Groups < Spinach::FeatureSteps
@project = create(:project, group: @group)
@event = create(:closed_issue_event, project: @project)
 
@project.add_access current_user, :admin
@project.team << [current_user, :master]
end
 
And 'I should see projects activity feed' do
Loading
Loading
Loading
Loading
@@ -84,18 +84,18 @@ class ProjectTeamManagement < Spinach::FeatureSteps
And '"Sam" is "Shop" developer' do
user = User.find_by_name("Sam")
project = Project.find_by_name("Shop")
project.add_access(user, :write)
project.team << [user, :developer]
end
 
Given 'I own project "Website"' do
@project = create(:project, :name => "Website")
@project.add_access(@user, :admin)
@project.team << [@user, :master]
end
 
And '"Mike" is "Website" reporter' do
user = User.find_by_name("Mike")
project = Project.find_by_name("Website")
project.add_access(user, :read)
project.team << [user, :reporter]
end
 
And 'I click link "Import team from another project"' do
Loading
Loading
Loading
Loading
@@ -114,15 +114,15 @@ module SharedPaths
end
 
Given "I visit my project's files page" do
visit project_tree_path(@project, @project.root_ref)
visit project_tree_path(@project, root_ref)
end
 
Given "I visit my project's commits page" do
visit project_commits_path(@project, @project.root_ref, {limit: 5})
visit project_commits_path(@project, root_ref, {limit: 5})
end
 
Given "I visit my project's commits page for a specific path" do
visit project_commits_path(@project, @project.root_ref + "/app/models/project.rb", {limit: 5})
visit project_commits_path(@project, root_ref + "/app/models/project.rb", {limit: 5})
end
 
Given 'I visit my project\'s commits stats page' do
Loading
Loading
@@ -174,7 +174,7 @@ module SharedPaths
end
 
Given 'I visit project commits page' do
visit project_commits_path(@project, @project.root_ref, {limit: 5})
visit project_commits_path(@project, root_ref, {limit: 5})
end
 
Given 'I visit project commits page for stable branch' do
Loading
Loading
@@ -182,7 +182,7 @@ module SharedPaths
end
 
Given 'I visit project source page' do
visit project_tree_path(@project, @project.root_ref)
visit project_tree_path(@project, root_ref)
end
 
Given 'I visit blob file from repo' do
Loading
Loading
@@ -240,4 +240,8 @@ module SharedPaths
Given 'I visit project wiki page' do
visit project_wiki_path(@project, :index)
end
def root_ref
@project.repository.root_ref
end
end
Loading
Loading
@@ -4,13 +4,13 @@ module SharedProject
# Create a project without caring about what it's called
And "I own a project" do
@project = create(:project)
@project.add_access(@user, :admin)
@project.team << [@user, :master]
end
 
# Create a specific project called "Shop"
And 'I own project "Shop"' do
@project = create(:project, :name => "Shop")
@project.add_access(@user, :admin)
@project = create(:project, name: "Shop")
@project.team << [@user, :master]
end
 
def current_project
Loading
Loading
Loading
Loading
@@ -82,7 +82,7 @@ module Gitlab
end
 
def destroy_project(project)
FileUtils.rm_rf(project.path_to_repo)
FileUtils.rm_rf(project.repository.path_to_repo)
conf.rm_repo(project.path_with_namespace)
end
 
Loading
Loading
@@ -138,9 +138,9 @@ module Gitlab
::Gitolite::Config::Repo.new(repo_name)
end
 
name_readers = project.repository_readers
name_writers = project.repository_writers
name_masters = project.repository_masters
name_readers = project.team.repository_readers
name_writers = project.team.repository_writers
name_masters = project.team.repository_masters
 
pr_br = project.protected_branches.map(&:name).join("$ ")
 
Loading
Loading
Loading
Loading
@@ -170,7 +170,7 @@ module Gitlab
end
 
def reference_commit(identifier)
if @project.valid_repo? && commit = @project.commit(identifier)
if @project.valid_repo? && commit = @project.repository.commit(identifier)
link_to(identifier, project_commit_path(@project, commit), html_options.merge(title: CommitDecorator.new(commit).link_title, class: "gfm gfm-commit #{html_options[:class]}"))
end
end
Loading
Loading
Loading
Loading
@@ -31,7 +31,7 @@ module Gitlab
merge_repo.git.push({raise: true, timeout: true}, :origin, merge_request.target_branch)
 
# remove source branch
if merge_request.should_remove_source_branch && !project.root_ref?(merge_request.source_branch)
if merge_request.should_remove_source_branch && !project.repository.root_ref?(merge_request.source_branch)
# will raise CommandFailed when push fails
merge_repo.git.push({raise: true, timeout: true}, :origin, ":#{merge_request.source_branch}")
end
Loading
Loading
Loading
Loading
@@ -75,35 +75,19 @@ describe Project do
end
 
describe "Respond to" do
it { should respond_to(:public?) }
it { should respond_to(:private?) }
it { should respond_to(:url_to_repo) }
it { should respond_to(:path_to_repo) }
it { should respond_to(:valid_repo?) }
it { should respond_to(:repo_exists?) }
 
# Repository Role
it { should respond_to(:tree) }
it { should respond_to(:root_ref) }
it { should respond_to(:repo) }
it { should respond_to(:tags) }
it { should respond_to(:commit) }
it { should respond_to(:commits) }
it { should respond_to(:commits_between) }
it { should respond_to(:commits_with_refs) }
it { should respond_to(:commits_since) }
it { should respond_to(:commits_between) }
it { should respond_to(:satellite) }
it { should respond_to(:update_repository) }
it { should respond_to(:destroy_repository) }
it { should respond_to(:archive_repo) }
 
# Authority Role
it { should respond_to(:add_access) }
it { should respond_to(:reset_access) }
it { should respond_to(:repository_writers) }
it { should respond_to(:repository_masters) }
it { should respond_to(:repository_readers) }
it { should respond_to(:allow_read_for?) }
it { should respond_to(:guest_access_for?) }
it { should respond_to(:report_access_for?) }
Loading
Loading
describe Repository do
describe "Respond to" do
it { should respond_to(:repo) }
it { should respond_to(:tree) }
it { should respond_to(:root_ref) }
it { should respond_to(:tags) }
it { should respond_to(:commit) }
it { should respond_to(:commits) }
it { should respond_to(:commits_between) }
it { should respond_to(:commits_with_refs) }
it { should respond_to(:commits_since) }
it { should respond_to(:commits_between) }
end
end
Loading
Loading
@@ -56,7 +56,7 @@ describe SystemHook do
user = create(:user)
project = create(:project)
with_resque do
project.add_access(user, :admin)
project.team << [user, :master]
end
WebMock.should have_requested(:post, @system_hook.url).with(body: /user_add_to_team/).once
end
Loading
Loading
@@ -64,7 +64,7 @@ describe SystemHook do
it "project_destroy hook" do
user = create(:user)
project = create(:project)
project.add_access(user, :admin)
project.team << [user, :master]
with_resque do
project.users_projects.clear
end
Loading
Loading
describe Team do
describe "Respond to" do
it { should respond_to(:developers) }
it { should respond_to(:masters) }
it { should respond_to(:reporters) }
it { should respond_to(:guests) }
it { should respond_to(:repository_writers) }
it { should respond_to(:repository_masters) }
it { should respond_to(:repository_readers) }
end
end
Loading
Loading
@@ -48,10 +48,10 @@ describe UsersProject do
@user_1 = create :user
@user_2 = create :user
 
@project_1.add_access @user_1, :write
@project_2.add_access @user_2, :read
@project_1.team << [ @user_1, :developer ]
@project_2.team << [ @user_2, :reporter ]
 
@status = UsersProject.import_team(@project_1, @project_2)
@status = @project_2.team.import(@project_1)
end
 
it { @status.should be_true }
Loading
Loading
@@ -101,8 +101,8 @@ describe UsersProject do
@user_1 = create :user
@user_2 = create :user
 
@project_1.add_access @user_1, :write
@project_2.add_access @user_2, :read
@project_1.team << [ @user_1, :developer]
@project_2.team << [ @user_2, :reporter]
 
UsersProject.truncate_teams([@project_1.id, @project_2.id])
end
Loading
Loading
Loading
Loading
@@ -7,8 +7,7 @@ describe "Issues" do
login_as :user
user2 = create(:user)
 
project.add_access(@user, :read, :write)
project.add_access(user2, :read, :write)
project.team << [[@user, user2], :developer]
end
 
describe "Edit issue" 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