BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
29a43373
Commit
29a43373
authored
Mar 14, 2016
by
Zeger-Jan van de Weg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Specs for the DeleteUserService
parent
8077a5f9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
69 additions
and
50 deletions
+69
-50
CHANGELOG
CHANGELOG
+0
-1
delete_user_service_spec.rb
spec/services/delete_user_service_spec.rb
+58
-0
delete_user_worker_spec.rb
spec/workers/delete_user_worker_spec.rb
+11
-49
No files found.
CHANGELOG
View file @
29a43373
...
...
@@ -50,7 +50,6 @@ v 8.5.5
- Fix pagination for filtered dashboard and explore pages
- Fix "Show all" link behavior
- Add #upcoming filter to Milestone filter (Tiago Botelho)
- User deletion is now done in the background so the request can not time out
v 8.5.4
- Do not cache requests for badges (including builds badge)
...
...
spec/services/delete_user_service_spec.rb
0 → 100644
View file @
29a43373
require
'spec_helper'
describe
DeleteUserService
,
services:
true
do
describe
"Deletes a user and all their personal projects"
do
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:current_user
)
{
create
(
:user
)
}
let!
(
:namespace
)
{
create
(
:namespace
,
owner:
user
)
}
let!
(
:project
)
{
create
(
:project
,
namespace:
namespace
)
}
context
'no options are given'
do
it
'deletes the user'
do
DeleteUserService
.
new
(
current_user
).
execute
(
user
)
expect
{
User
.
find
(
user
.
id
)
}.
to
raise_error
(
ActiveRecord
::
RecordNotFound
)
end
it
'will delete the project in the near future'
do
expect_any_instance_of
(
Projects
::
DestroyService
).
to
receive
(
:pending_delete!
).
once
DeleteUserService
.
new
(
current_user
).
execute
(
user
)
end
end
context
"solo owned groups present"
do
let
(
:solo_owned
)
{
create
(
:group
)
}
let
(
:member
)
{
create
(
:group_member
)
}
let
(
:user
)
{
member
.
user
}
before
do
solo_owned
.
group_members
=
[
member
]
DeleteUserService
.
new
(
current_user
).
execute
(
user
)
end
it
'does not delete the user'
do
expect
(
User
.
find
(
user
.
id
)).
to
eq
user
end
end
context
"deletions with solo owned groups"
do
let
(
:solo_owned
)
{
create
(
:group
)
}
let
(
:member
)
{
create
(
:group_member
)
}
let
(
:user
)
{
member
.
user
}
before
do
solo_owned
.
group_members
=
[
member
]
DeleteUserService
.
new
(
current_user
).
execute
(
user
,
delete_solo_owned_groups:
true
)
end
it
'deletes solo owned groups'
do
expect
{
Project
.
find
(
solo_owned
.
id
)
}.
to
raise_error
(
ActiveRecord
::
RecordNotFound
)
end
it
'deletes the user'
do
expect
{
User
.
find
(
user
.
id
)
}.
to
raise_error
(
ActiveRecord
::
RecordNotFound
)
end
end
end
end
spec/workers/delete_user_worker_spec.rb
View file @
29a43373
require
'spec_helper'
describe
DeleteUserWorker
do
describe
"Deletes a user and all their personal projects"
do
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:current_user
)
{
create
(
:user
)
}
let!
(
:namespace
)
{
create
(
:namespace
,
owner:
user
)
}
let!
(
:project
)
{
create
(
:project
,
namespace:
namespace
)
}
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:current_user
)
{
create
(
:user
)
}
context
'no force flag given'
do
before
do
DeleteUserWorker
.
new
.
perform
(
current_user
.
id
,
user
.
id
)
end
it
"calls the DeleteUserWorker with the params it was given"
do
expect_any_instance_of
(
DeleteUserService
).
to
receive
(
:execute
).
with
(
user
,
{})
it
'deletes all personal projects'
do
expect
{
Project
.
find
(
project
.
id
)
}.
to
raise_error
(
ActiveRecord
::
RecordNotFound
)
end
it
'deletes the user'
do
expect
{
User
.
find
(
user
.
id
)
}.
to
raise_error
(
ActiveRecord
::
RecordNotFound
)
end
end
context
"solo owned groups present"
do
let
(
:solo_owned
)
{
create
(
:group
)
}
let
(
:member
)
{
create
(
:group_member
)
}
let
(
:user
)
{
member
.
user
}
before
do
solo_owned
.
group_members
=
[
member
]
DeleteUserWorker
.
new
.
perform
(
current_user
.
id
,
user
.
id
)
end
it
'does not delete the user'
do
expect
(
User
.
find
(
user
.
id
)).
to
eq
user
end
end
context
"deletions with force"
do
let
(
:solo_owned
)
{
create
(
:group
)
}
let
(
:member
)
{
create
(
:group_member
)
}
let
(
:user
)
{
member
.
user
}
before
do
solo_owned
.
group_members
=
[
member
]
DeleteUserWorker
.
new
.
perform
(
current_user
.
id
,
user
.
id
,
"delete_solo_owned_groups"
=>
true
)
end
DeleteUserWorker
.
new
.
perform
(
current_user
.
id
,
user
.
id
)
end
it
'deletes solo owned groups'
do
expect
{
Project
.
find
(
solo_owned
.
id
)
}.
to
raise_error
(
ActiveRecord
::
RecordNotFound
)
end
it
"uses symbolized keys"
do
expect_any_instance_of
(
DeleteUserService
).
to
receive
(
:execute
).
with
(
user
,
test:
"test"
)
it
'deletes the user'
do
expect
{
User
.
find
(
user
.
id
)
}.
to
raise_error
(
ActiveRecord
::
RecordNotFound
)
end
end
DeleteUserWorker
.
new
.
perform
(
current_user
.
id
,
user
.
id
,
"test"
=>
"test"
)
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment