Skip to content
Snippets Groups Projects
Commit 2ff684ae authored by Vitaliy @blackst0ne Klachkov's avatar Vitaliy @blackst0ne Klachkov
Browse files

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

parent a9253be0
No related branches found
No related tags found
No related merge requests found
Showing
with 45 additions and 53 deletions
Loading
Loading
@@ -231,7 +231,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 @@ def initialize(project)
@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)
public_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 @@
 
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
@@ -13,7 +13,7 @@ class Spinach::Features::GroupsManagement < Spinach::FeatureSteps
step '"Mary Jane" has master access for project "Open"' do
@user = User.find_by(name: "Mary Jane") || create(:user, name: "Mary Jane")
@project = Project.find_by(name: "Open")
@project.team << [@user, :master]
@project.add_master(@user)
end
 
step "Group membership lock is enabled" do
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
@@ -19,7 +19,7 @@ class Spinach::Features::GlobalSearch < Spinach::FeatureSteps
 
step 'project has all data available for the search' do
@project = create :project
@project.team << [current_user, :master]
@project.add_master(current_user)
 
@issue = create :issue, title: 'bla-bla initial', project: @project
@merge_request = create :merge_request, title: 'bla-bla initial', source_project: @project
Loading
Loading
Loading
Loading
@@ -17,7 +17,7 @@ class Spinach::Features::ProjectSearch < Spinach::FeatureSteps
 
step 'project has all data available for the search' do
@project = create :project, :repository
@project.team << [current_user, :master]
@project.add_master(current_user)
 
@issue = create :issue, title: 'bla-bla initial', project: @project
@merge_request = create :merge_request, title: 'bla-bla initial', source_project: @project
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
@@ -45,7 +45,7 @@ def is_member_of(username, groupname, role)
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, issues_template: "This issue should contain the following.", merge_requests_template: "This merge request should contain the following.")
@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 @@ def current_project
# ----------------------------------------
 
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 @@ def user_owns_project(user_name:, project_name:, visibility: :private)
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 @@
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 @@
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', :request_store do
Loading
Loading
@@ -221,7 +221,7 @@ def create_issue(user:, board:, list:, title:)
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 @@
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 @@
 
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 @@
 
before do
sign_in(user)
project.team << [user, :developer]
project.add_developer(user)
end
 
describe 'GET #index' 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