Skip to content
Snippets Groups Projects
Commit 27c95364 authored by blackst0ne's avatar blackst0ne
Browse files

Replace '.team << [user, role]' with 'add_role(user)' in specs

parent 36f47103
No related branches found
No related tags found
No related merge requests found
Showing
with 45 additions and 53 deletions
Loading
Loading
@@ -226,7 +226,7 @@ class Project < ActiveRecord::Base
delegate :name, to: :owner, allow_nil: true, prefix: true
delegate :members, to: :team, prefix: true
delegate :add_user, :add_users, to: :team
delegate :add_guest, :add_reporter, :add_developer, :add_master, to: :team
delegate :add_guest, :add_reporter, :add_developer, :add_master, :add_role, to: :team
 
# Validations
validates :creator, presence: true, on: :create
Loading
Loading
Loading
Loading
@@ -7,36 +7,24 @@ class ProjectTeam
@project = project
end
 
# Shortcut to add users
#
# Use:
# @team << [@user, :master]
# @team << [@users, :master]
#
def <<(args)
users, access, current_user = *args
if users.respond_to?(:each)
add_users(users, access, current_user: current_user)
else
add_user(users, access, current_user: current_user)
end
end
def add_guest(user, current_user: nil)
self << [user, :guest, current_user]
add_user(user, :guest, current_user: current_user)
end
 
def add_reporter(user, current_user: nil)
self << [user, :reporter, current_user]
add_user(user, :reporter, current_user: current_user)
end
 
def add_developer(user, current_user: nil)
self << [user, :developer, current_user]
add_user(user, :developer, current_user: current_user)
end
 
def add_master(user, current_user: nil)
self << [user, :master, current_user]
add_user(user, :master, current_user: current_user)
end
def add_role(user, role, current_user: nil)
send(:"add_#{role}", user, current_user: current_user) # rubocop:disable GitlabSecurity/PublicSend
end
 
def find_member(user_id)
Loading
Loading
---
title: Replace '.team << [user, role]' with 'add_role(user)' in specs
merge_request: 16069
author: "@blackst0ne"
type: other
Loading
Loading
@@ -14,7 +14,7 @@ Sidekiq::Testing.inline! do
 
Project.all.each do |project|
User.all.sample(4).each do |user|
if project.team << [user, Gitlab::Access.values.sample]
if project.add_role(user, Gitlab::Access.values.sample)
print '.'
else
print 'F'
Loading
Loading
Loading
Loading
@@ -165,7 +165,7 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
@project = create(:project, :repository, namespace: @group)
@event = create(:closed_issue_event, project: @project)
 
@project.team << [current_user, :master]
@project.add_master(current_user)
end
 
step 'I should see groups I belong to' do
Loading
Loading
Loading
Loading
@@ -48,11 +48,11 @@ class Spinach::Features::ProjectDeployKeys < Spinach::FeatureSteps
 
step 'other projects have deploy keys' do
@second_project = create(:project, namespace: create(:group))
@second_project.team << [current_user, :master]
@second_project.add_master(current_user)
create(:deploy_keys_project, project: @second_project)
 
@third_project = create(:project, namespace: create(:group))
@third_project.team << [current_user, :master]
@third_project.add_master(current_user)
create(:deploy_keys_project, project: @third_project, deploy_key: @second_project.deploy_keys.first)
end
 
Loading
Loading
Loading
Loading
@@ -10,7 +10,7 @@ class Spinach::Features::ProjectFork < Spinach::FeatureSteps
 
step 'I am a member of project "Shop"' do
@project = create(:project, :repository, name: "Shop")
@project.team << [@user, :reporter]
@project.add_reporter(@user)
end
 
step 'I should see the forked project page' do
Loading
Loading
@@ -71,7 +71,7 @@ class Spinach::Features::ProjectFork < Spinach::FeatureSteps
 
step 'There is an existent fork of the "Shop" project' do
user = create(:user, name: 'Mike')
@project.team << [user, :reporter]
@project.add_reporter(user)
@forked_project = Projects::ForkService.new(@project, user).execute
end
 
Loading
Loading
Loading
Loading
@@ -10,7 +10,7 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
step 'I am a member of project "Shop"' do
@project = ::Project.find_by(name: "Shop")
@project ||= create(:project, :repository, name: "Shop")
@project.team << [@user, :reporter]
@project.add_reporter(@user)
end
 
step 'I have a project forked off of "Shop" called "Forked Shop"' do
Loading
Loading
Loading
Loading
@@ -8,7 +8,7 @@ class Spinach::Features::ProjectSourceBrowseFiles < Spinach::FeatureSteps
 
step "I don't have write access" do
@project = create(:project, :repository, name: "Other Project", path: "other-project")
@project.team << [@user, :reporter]
@project.add_reporter(@user)
visit project_tree_path(@project, root_ref)
end
 
Loading
Loading
Loading
Loading
@@ -10,7 +10,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
step 'I own project "Delta"' do
@project = ::Project.find_by(name: "Delta")
@project ||= create(:project, :repository, name: "Delta", namespace: @user.namespace)
@project.team << [@user, :master]
@project.add_master(@user)
end
 
step 'I should see files from repository in markdown' do
Loading
Loading
Loading
Loading
@@ -41,7 +41,7 @@ module SharedGroup
group.add_user(user, role)
project ||= create(:project, :repository, namespace: group)
create(:closed_issue_event, project: project)
project.team << [user, :master]
project.add_master(user)
end
 
def owned_group
Loading
Loading
Loading
Loading
@@ -4,13 +4,13 @@ module SharedProject
# Create a project without caring about what it's called
step "I own a project" do
@project = create(:project, :repository, namespace: @user.namespace)
@project.team << [@user, :master]
@project.add_master(@user)
end
 
step "I own a project in some group namespace" do
@group = create(:group, name: 'some group')
@project = create(:project, namespace: @group)
@project.team << [@user, :master]
@project.add_master(@user)
end
 
step "project exists in some group namespace" do
Loading
Loading
@@ -22,7 +22,7 @@ module SharedProject
step 'I own project "Shop"' do
@project = Project.find_by(name: "Shop")
@project ||= create(:project, :repository, name: "Shop", namespace: @user.namespace)
@project.team << [@user, :master]
@project.add_master(@user)
end
 
step 'I disable snippets in project' do
Loading
Loading
@@ -40,7 +40,7 @@ module SharedProject
step 'I add a user to project "Shop"' do
@project = Project.find_by(name: "Shop")
other_user = create(:user, name: 'Alpha')
@project.team << [other_user, :master]
@project.add_master(other_user)
end
 
# Create another specific project called "Forum"
Loading
Loading
@@ -49,14 +49,13 @@ module SharedProject
@project ||= create(:project, :repository, name: "Forum", namespace: @user.namespace, path: 'forum_project')
@project.build_project_feature
@project.project_feature.save
@project.team << [@user, :master]
@project.add_master(@user)
end
 
# Create an empty project without caring about the name
step 'I own an empty project' do
@project = create(:project,
name: 'Empty Project', namespace: @user.namespace)
@project.team << [@user, :master]
@project = create(:project, name: 'Empty Project', namespace: @user.namespace)
@project.add_master(@user)
end
 
step 'I visit my empty project page' do
Loading
Loading
@@ -101,11 +100,11 @@ module SharedProject
# ----------------------------------------
 
step 'I am member of a project with a guest role' do
@project.team << [@user, Gitlab::Access::GUEST]
@project.add_guest(@user)
end
 
step 'I am member of a project with a reporter role' do
@project.team << [@user, Gitlab::Access::REPORTER]
@project.add_reporter(@user)
end
 
# ----------------------------------------
Loading
Loading
@@ -245,6 +244,6 @@ module SharedProject
user = user_exists(user_name, username: user_name.gsub(/\s/, '').underscore)
project = Project.find_by(name: project_name)
project ||= create(:project, visibility, name: project_name, namespace: user.namespace)
project.team << [user, :master]
project.add_master(user)
end
end
Loading
Loading
@@ -13,7 +13,7 @@ describe Admin::UsersController do
let!(:issue) { create(:issue, author: user) }
 
before do
project.team << [user, :developer]
project.add_developer(user)
end
 
it 'deletes user and ghosts their contributions' do
Loading
Loading
Loading
Loading
@@ -13,8 +13,8 @@ describe Boards::IssuesController do
let!(:list2) { create(:list, board: board, label: development, position: 1) }
 
before do
project.team << [user, :master]
project.team << [guest, :guest]
project.add_master(user)
project.add_guest(guest)
end
 
describe 'GET index' do
Loading
Loading
@@ -221,7 +221,7 @@ describe Boards::IssuesController do
let(:guest) { create(:user) }
 
before do
project.team << [guest, :guest]
project.add_guest(guest)
end
 
it 'returns a forbidden 403 response' do
Loading
Loading
Loading
Loading
@@ -7,8 +7,8 @@ describe Boards::ListsController do
let(:guest) { create(:user) }
 
before do
project.team << [user, :master]
project.team << [guest, :guest]
project.add_master(user)
project.add_guest(guest)
end
 
describe 'GET index' do
Loading
Loading
Loading
Loading
@@ -17,7 +17,7 @@ describe Dashboard::MilestonesController do
 
before do
sign_in(user)
project.team << [user, :master]
project.add_master(user)
end
 
it_behaves_like 'milestone tabs'
Loading
Loading
Loading
Loading
@@ -8,7 +8,7 @@ describe Dashboard::TodosController do
 
before do
sign_in(user)
project.team << [user, :developer]
project.add_developer(user)
end
 
describe 'GET #index' do
Loading
Loading
Loading
Loading
@@ -5,7 +5,7 @@ describe DashboardController do
let(:project) { create(:project) }
 
before do
project.team << [user, :master]
project.add_master(user)
sign_in(user)
end
 
Loading
Loading
Loading
Loading
@@ -28,7 +28,7 @@ describe Groups::MilestonesController do
before do
sign_in(user)
group.add_owner(user)
project.team << [user, :master]
project.add_master(user)
end
 
describe '#index' do
Loading
Loading
Loading
Loading
@@ -6,7 +6,7 @@ describe NotificationSettingsController do
let(:user) { create(:user) }
 
before do
project.team << [user, :developer]
project.add_developer(user)
end
 
describe '#create' 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