diff options
author | Rémy Coutable <remy@rymai.me> | 2016-09-16 17:54:21 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-09-28 09:43:00 +0200 |
commit | ec0061a95cbba02286b2c143048c93d8f26ff5f0 (patch) | |
tree | 21daadac7aaf5a8caf3247c9e54604a0f633bd23 /spec/factories | |
parent | 3b206ccb8393d8f2c5ad227874d9a60beb054782 (diff) | |
download | gitlab-ce-ec0061a95cbba02286b2c143048c93d8f26ff5f0.tar.gz |
Allow Member.add_user to handle access requesters
Changes include:
- Ensure Member.add_user is not called directly when not necessary
- New GroupMember.add_users_to_group to have the same abstraction level as for Project
- Refactor Member.add_user to take a source instead of an array of members
- Fix Rubocop offenses
- Always use Project#add_user instead of project.team.add_user
- Factorize users addition as members in Member.add_users_to_source
- Make access_level a keyword argument in GroupMember.add_users_to_group and ProjectMember.add_users_to_projects
- Destroy any requester before adding them as a member
- Improve the way we handle access requesters in Member.add_user
Instead of removing the requester and creating a new member,
we now simply accepts their access request. This way, they will
receive a "access request granted" email.
- Fix error that was previously silently ignored
- Stop raising when access level is invalid in Member, let Rails validation do their work
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/factories')
-rw-r--r-- | spec/factories/project_members.rb | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/spec/factories/project_members.rb b/spec/factories/project_members.rb index cf3659ba275..1ddb305a8af 100644 --- a/spec/factories/project_members.rb +++ b/spec/factories/project_members.rb @@ -4,24 +4,9 @@ FactoryGirl.define do project master - trait :guest do - access_level ProjectMember::GUEST - end - - trait :reporter do - access_level ProjectMember::REPORTER - end - - trait :developer do - access_level ProjectMember::DEVELOPER - end - - trait :master do - access_level ProjectMember::MASTER - end - - trait :owner do - access_level ProjectMember::OWNER - end + trait(:guest) { access_level ProjectMember::GUEST } + trait(:reporter) { access_level ProjectMember::REPORTER } + trait(:developer) { access_level ProjectMember::DEVELOPER } + trait(:master) { access_level ProjectMember::MASTER } end end |