Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
99d2379b
Commit
99d2379b
authored
Aug 26, 2020
by
Eugenia Grieff
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add test examples for system notes
- Tree reorder service should create system notes when new parent is set
parent
f46565b4
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
87 additions
and
64 deletions
+87
-64
ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb
.../requests/api/graphql/mutations/epic_tree/reorder_spec.rb
+1
-1
ee/spec/services/epics/tree_reorder_service_spec.rb
ee/spec/services/epics/tree_reorder_service_spec.rb
+86
-63
No files found.
ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb
View file @
99d2379b
...
...
@@ -49,7 +49,7 @@ RSpec.describe 'Updating an epic tree' do
end
end
context
'when epic
feature is
enabled'
do
context
'when epic
s and subepics features are
enabled'
do
before
do
stub_licensed_features
(
epics:
true
,
subepics:
true
)
end
...
...
ee/spec/services/epics/tree_reorder_service_spec.rb
View file @
99d2379b
...
...
@@ -66,7 +66,7 @@ RSpec.describe Epics::TreeReorderService do
context
'when user does have permission to admin the base epic'
do
before
do
group
.
add_
develop
er
(
user
)
group
.
add_
report
er
(
user
)
end
context
'when relative_position is not valid'
do
...
...
@@ -102,6 +102,10 @@ RSpec.describe Epics::TreeReorderService do
it
'updates the parent'
do
expect
{
subject
}.
to
change
{
tree_object_2
.
reload
.
epic
}.
from
(
epic1
).
to
(
epic
)
end
it
'creates system notes'
do
expect
{
subject
}.
to
change
{
Note
.
system
.
count
}.
by
(
3
)
end
end
context
'when object being moved is from another epic'
do
...
...
@@ -207,6 +211,10 @@ RSpec.describe Epics::TreeReorderService do
expect
(
tree_object_1
.
reload
.
relative_position
).
to
be
>
tree_object_2
.
reload
.
relative_position
end
it
'creates system notes'
do
expect
{
subject
}.
to
change
{
Note
.
system
.
count
}.
by
(
3
)
end
end
end
end
...
...
@@ -215,6 +223,17 @@ RSpec.describe Epics::TreeReorderService do
let!
(
:tree_object_1
)
{
epic1
}
let!
(
:tree_object_2
)
{
epic2
}
context
'when subepics feature is disabled'
do
let
(
:new_parent_id
)
{
GitlabSchema
.
id_from_object
(
epic
)
}
before
do
stub_licensed_features
(
epics:
true
,
subepics:
false
)
end
it_behaves_like
'error for the tree update'
,
'You don\'t have permissions to move the objects.'
end
context
'when subepics feature is enabled'
do
before
do
stub_licensed_features
(
epics:
true
,
subepics:
true
)
end
...
...
@@ -231,6 +250,16 @@ RSpec.describe Epics::TreeReorderService do
it_behaves_like
'error for the tree update'
,
'You don\'t have permissions to move the objects.'
end
context
'when user does not have permissions to admin the previous parent links'
do
let
(
:new_parent_id
)
{
GitlabSchema
.
id_from_object
(
epic
)
}
before
do
group
.
add_guest
(
user
)
end
it_behaves_like
'error for the tree update'
,
'You don\'t have permissions to move the objects.'
end
context
'when there is some other error with the new parent'
do
let
(
:other_group
)
{
create
(
:group
)
}
let
(
:new_parent_id
)
{
GitlabSchema
.
id_from_object
(
epic
)
}
...
...
@@ -252,6 +281,8 @@ RSpec.describe Epics::TreeReorderService do
it_behaves_like
'error for the tree update'
,
'You don\'t have permissions to move the objects.'
end
context
'when user '
context
'when the reordered epics are not subepics of the base epic'
do
let
(
:another_group
)
{
create
(
:group
)
}
let
(
:another_epic
)
{
create
(
:epic
,
group:
another_group
)
}
...
...
@@ -264,19 +295,6 @@ RSpec.describe Epics::TreeReorderService do
it_behaves_like
'error for the tree update'
,
'You don\'t have permissions to move the objects.'
end
context
'when new parent is another epic and subepics feature is disabled'
do
let
(
:other_epic
)
{
create
(
:epic
,
group:
group
)
}
let
(
:new_parent_id
)
{
GitlabSchema
.
id_from_object
(
epic
)
}
let
(
:epic3
)
{
create
(
:epic
,
parent:
other_epic
,
group:
group
)
}
let
(
:tree_object_2
)
{
epic3
}
before
do
stub_licensed_features
(
epics:
true
,
subepics:
false
)
end
it_behaves_like
'error for the tree update'
,
'You don\'t have permissions to move the objects.'
end
context
'when moving is successful'
do
it
'updates the links relative positions'
do
subject
...
...
@@ -304,7 +322,7 @@ RSpec.describe Epics::TreeReorderService do
let
(
:epic3
)
{
create
(
:epic
,
parent:
other_epic
,
group:
group
)
}
let
(
:tree_object_2
)
{
epic3
}
it
'updates the relative positions and parent_id
'
do
it
'updates the relative positions
'
do
subject
expect
(
tree_object_1
.
reload
.
relative_position
).
to
be
>
tree_object_2
.
reload
.
relative_position
...
...
@@ -313,6 +331,11 @@ RSpec.describe Epics::TreeReorderService do
it
'updates the parent'
do
expect
{
subject
}.
to
change
{
tree_object_2
.
reload
.
parent
}.
from
(
other_epic
).
to
(
epic
)
end
it
'creates system notes'
do
expect
{
subject
}.
to
change
{
Note
.
system
.
count
}.
by
(
2
)
end
end
end
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