diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-05-28 13:14:58 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-05-28 13:14:58 +0000 |
commit | 05a44dcb8b70663e376acfb2b5874bae454bfecf (patch) | |
tree | 94cb2028e082ce4a9baa3cc846ef7171f129c790 /spec | |
parent | 06250eef2e12ed509b88f3770ae6d3fa4614b74d (diff) | |
parent | 2db026793df81f97515a13e1b4355436f6cc76c3 (diff) | |
download | gitlab-ce-05a44dcb8b70663e376acfb2b5874bae454bfecf.tar.gz |
Merge branch 'user-destroy-wo-groups' into 'master'
You can not remove user if he/she is an only owner of group
To prevent loose of group data you need to transfer or remove group
first before you can remove user
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
See merge request !730
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/user_spec.rb | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index e1205c18a85..49c7b7d99ce 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -572,7 +572,6 @@ describe User do end describe "#contributed_projects_ids" do - subject { create(:user) } let!(:project1) { create(:project) } let!(:project2) { create(:project, forked_from_project: project3) } @@ -598,4 +597,21 @@ describe User do expect(subject.contributed_projects_ids).not_to include(project2.id) end end + + describe :can_be_removed? do + subject { create(:user) } + + context 'no owned groups' do + it { expect(subject.can_be_removed?).to be_truthy } + end + + context 'has owned groups' do + before do + group = create(:group) + group.add_owner(subject) + end + + it { expect(subject.can_be_removed?).to be_falsey } + end + end end |