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
b1e4d55d
Commit
b1e4d55d
authored
Jun 11, 2021
by
Mark Chao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor to inline version_index to its only use
Add spec and factory for multiple diffs
parent
4440e175
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
11 deletions
+28
-11
app/helpers/merge_requests_helper.rb
app/helpers/merge_requests_helper.rb
+0
-6
app/serializers/merge_request_diff_entity.rb
app/serializers/merge_request_diff_entity.rb
+4
-4
spec/factories/merge_requests.rb
spec/factories/merge_requests.rb
+5
-0
spec/serializers/merge_request_diff_entity_spec.rb
spec/serializers/merge_request_diff_entity_spec.rb
+19
-1
No files found.
app/helpers/merge_requests_helper.rb
View file @
b1e4d55d
...
...
@@ -80,12 +80,6 @@ module MergeRequestsHelper
diffs_project_merge_request_path
(
project
,
merge_request
,
diff_id:
merge_request_diff
.
id
,
start_sha:
start_sha
)
end
def
version_index
(
merge_request_diff
)
return
if
@merge_request_diffs
.
empty?
@merge_request_diffs
.
size
-
@merge_request_diffs
.
index
(
merge_request_diff
)
end
def
merge_params
(
merge_request
)
{
auto_merge_strategy:
AutoMergeService
::
STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS
,
...
...
app/serializers/merge_request_diff_entity.rb
View file @
b1e4d55d
...
...
@@ -6,13 +6,13 @@ class MergeRequestDiffEntity < Grape::Entity
include
MergeRequestsHelper
expose
:version_index
do
|
merge_request_diff
|
@
merge_request_diffs
=
options
[
:merge_request_diffs
]
merge_request_diffs
=
options
[
:merge_request_diffs
]
diff
=
options
[
:merge_request_diff
]
next
unless
@
merge_request_diffs
.
include?
(
diff
)
next
unless
@
merge_request_diffs
.
size
>
1
next
unless
merge_request_diffs
.
include?
(
diff
)
next
unless
merge_request_diffs
.
size
>
1
version_
index
(
merge_request_diff
)
merge_request_diffs
.
size
-
merge_request_diffs
.
index
(
merge_request_diff
)
end
expose
:created_at
...
...
spec/factories/merge_requests.rb
View file @
b1e4d55d
...
...
@@ -341,6 +341,11 @@ FactoryBot.define do
create
(
:diff_note_on_merge_request
,
noteable:
mr
,
project:
mr
.
source_project
)
end
end
factory
:merge_request_with_multiple_diffs
do
after
(
:create
)
do
|
mr
|
mr
.
merge_request_diffs
.
create!
(
head_commit_sha:
'6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9'
)
end
end
factory
:labeled_merge_request
do
transient
do
...
...
spec/serializers/merge_request_diff_entity_spec.rb
View file @
b1e4d55d
...
...
@@ -10,7 +10,9 @@ RSpec.describe MergeRequestDiffEntity do
let
(
:merge_request_diffs
)
{
merge_request
.
merge_request_diffs
}
let
(
:merge_request_diff
)
{
merge_request_diffs
.
first
}
let
(
:entity
)
do
let
(
:entity
)
{
initialize_entity
(
merge_request
,
merge_request_diff
)
}
def
initialize_entity
(
merge_request
,
merge_request_diff
)
described_class
.
new
(
merge_request_diff
,
request:
request
,
...
...
@@ -70,6 +72,22 @@ RSpec.describe MergeRequestDiffEntity do
it_behaves_like
'version_index is nil'
end
context
'when @merge_request_diffs.size > 1'
do
let
(
:merge_request
)
{
create
(
:merge_request_with_multiple_diffs
)
}
it
'returns difference between size and diff index'
do
expect
(
merge_request_diffs
.
size
).
to
eq
(
2
)
# diff index: 0
subject
=
initialize_entity
(
merge_request
,
merge_request_diffs
.
first
)
expect
(
subject
.
as_json
[
:version_index
]).
to
eq
(
2
)
# diff index: 1
subject
=
initialize_entity
(
merge_request
,
merge_request_diffs
.
last
)
expect
(
subject
.
as_json
[
:version_index
]).
to
eq
(
1
)
end
end
end
describe
'#short_commit_sha'
do
...
...
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