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
4914a729
Commit
4914a729
authored
Dec 23, 2020
by
Lukas Eipert
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Run prettier on 14 files - 3 of 73
Part of our prettier migration; changing the arrow-parens style.
parent
792e3493
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
109 additions
and
101 deletions
+109
-101
.prettierignore
.prettierignore
+0
-16
spec/frontend/boards/components/sidebar/board_sidebar_labels_select_spec.js
...ds/components/sidebar/board_sidebar_labels_select_spec.js
+5
-4
spec/frontend/clusters/stores/clusters_store_spec.js
spec/frontend/clusters/stores/clusters_store_spec.js
+13
-10
spec/frontend/diffs/components/diff_file_header_spec.js
spec/frontend/diffs/components/diff_file_header_spec.js
+19
-16
spec/frontend/diffs/components/hidden_files_warning_spec.js
spec/frontend/diffs/components/hidden_files_warning_spec.js
+4
-2
spec/frontend/environments/environment_monitoring_spec.js
spec/frontend/environments/environment_monitoring_spec.js
+2
-1
spec/frontend/import_entities/import_groups/graphql/services/status_poller_spec.js
...ties/import_groups/graphql/services/status_poller_spec.js
+10
-8
spec/frontend/issuable/related_issues/components/add_issuable_form_spec.js
...uable/related_issues/components/add_issuable_form_spec.js
+9
-8
spec/frontend/notes/components/discussion_filter_spec.js
spec/frontend/notes/components/discussion_filter_spec.js
+8
-7
spec/frontend/pipeline_editor/components/lint/ci_lint_results_spec.js
...d/pipeline_editor/components/lint/ci_lint_results_spec.js
+4
-3
spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js
...ings_service_desk/components/service_desk_setting_spec.js
+3
-1
spec/frontend/snippets/components/edit_spec.js
spec/frontend/snippets/components/edit_spec.js
+7
-5
spec/frontend/user_lists/store/show/mutations_spec.js
spec/frontend/user_lists/store/show/mutations_spec.js
+4
-2
spec/frontend/vue_shared/components/stacked_progress_bar_spec.js
...ontend/vue_shared/components/stacked_progress_bar_spec.js
+6
-5
spec/frontend_integration/ide/helpers/ide_helper.js
spec/frontend_integration/ide/helpers/ide_helper.js
+15
-13
No files found.
.prettierignore
View file @
4914a729
...
...
@@ -10,22 +10,6 @@ doc/api/graphql/reference/gitlab_schema.graphql
*.scss
*.md
## objective-swirles
spec/frontend/boards/components/sidebar/board_sidebar_labels_select_spec.js
spec/frontend/clusters/stores/clusters_store_spec.js
spec/frontend/diffs/components/diff_file_header_spec.js
spec/frontend/diffs/components/hidden_files_warning_spec.js
spec/frontend/environments/environment_monitoring_spec.js
spec/frontend/import_entities/import_groups/graphql/services/status_poller_spec.js
spec/frontend/issuable/related_issues/components/add_issuable_form_spec.js
spec/frontend/notes/components/discussion_filter_spec.js
spec/frontend/pipeline_editor/components/lint/ci_lint_results_spec.js
spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js
spec/frontend/snippets/components/edit_spec.js
spec/frontend/user_lists/store/show/mutations_spec.js
spec/frontend/vue_shared/components/stacked_progress_bar_spec.js
spec/frontend_integration/ide/helpers/ide_helper.js
## boring-bohr
jest.config.base.js
jest.config.js
...
...
spec/frontend/boards/components/sidebar/board_sidebar_labels_select_spec.js
View file @
4914a729
...
...
@@ -10,8 +10,8 @@ import createFlash from '~/flash';
jest
.
mock
(
'
~/flash
'
);
const
TEST_LABELS_PAYLOAD
=
TEST_LABELS
.
map
(
label
=>
({
...
label
,
set
:
true
}));
const
TEST_LABELS_TITLES
=
TEST_LABELS
.
map
(
label
=>
label
.
title
);
const
TEST_LABELS_PAYLOAD
=
TEST_LABELS
.
map
(
(
label
)
=>
({
...
label
,
set
:
true
}));
const
TEST_LABELS_TITLES
=
TEST_LABELS
.
map
(
(
label
)
=>
label
.
title
);
describe
(
'
~/boards/components/sidebar/board_sidebar_labels_select.vue
'
,
()
=>
{
let
wrapper
;
...
...
@@ -44,7 +44,8 @@ describe('~/boards/components/sidebar/board_sidebar_labels_select.vue', () => {
};
const
findLabelsSelect
=
()
=>
wrapper
.
find
({
ref
:
'
labelsSelect
'
});
const
findLabelsTitles
=
()
=>
wrapper
.
findAll
(
GlLabel
).
wrappers
.
map
(
item
=>
item
.
props
(
'
title
'
));
const
findLabelsTitles
=
()
=>
wrapper
.
findAll
(
GlLabel
).
wrappers
.
map
((
item
)
=>
item
.
props
(
'
title
'
));
const
findCollapsed
=
()
=>
wrapper
.
find
(
'
[data-testid="collapsed-content"]
'
);
it
(
'
renders "None" when no labels are selected
'
,
()
=>
{
...
...
@@ -76,7 +77,7 @@ describe('~/boards/components/sidebar/board_sidebar_labels_select.vue', () => {
it
(
'
commits change to the server
'
,
()
=>
{
expect
(
wrapper
.
vm
.
setActiveIssueLabels
).
toHaveBeenCalledWith
({
addLabelIds
:
TEST_LABELS
.
map
(
label
=>
label
.
id
),
addLabelIds
:
TEST_LABELS
.
map
(
(
label
)
=>
label
.
id
),
projectPath
:
'
gitlab-org/test-subgroup/gitlab-test
'
,
removeLabelIds
:
[],
});
...
...
spec/frontend/clusters/stores/clusters_store_spec.js
View file @
4914a729
...
...
@@ -237,19 +237,22 @@ describe('Clusters Store', () => {
});
});
describe
.
each
(
APPLICATION_INSTALLED_STATUSES
)(
'
given the current app status is %s
'
,
status
=>
{
it
(
'
marks application as installed
'
,
()
=>
{
const
mockResponseData
=
CLUSTERS_MOCK_DATA
.
GET
[
'
/gitlab-org/gitlab-shell/clusters/2/status.json
'
].
data
;
const
runnerAppIndex
=
2
;
describe
.
each
(
APPLICATION_INSTALLED_STATUSES
)(
'
given the current app status is %s
'
,
(
status
)
=>
{
it
(
'
marks application as installed
'
,
()
=>
{
const
mockResponseData
=
CLUSTERS_MOCK_DATA
.
GET
[
'
/gitlab-org/gitlab-shell/clusters/2/status.json
'
].
data
;
const
runnerAppIndex
=
2
;
mockResponseData
.
applications
[
runnerAppIndex
].
status
=
status
;
mockResponseData
.
applications
[
runnerAppIndex
].
status
=
status
;
store
.
updateStateFromServer
(
mockResponseData
);
store
.
updateStateFromServer
(
mockResponseData
);
expect
(
store
.
state
.
applications
[
RUNNER
].
installed
).
toBe
(
true
);
});
});
expect
(
store
.
state
.
applications
[
RUNNER
].
installed
).
toBe
(
true
);
});
},
);
it
(
'
sets default hostname for jupyter when ingress has a ip address
'
,
()
=>
{
const
mockResponseData
=
...
...
spec/frontend/diffs/components/diff_file_header_spec.js
View file @
4914a729
...
...
@@ -62,7 +62,7 @@ describe('DiffFileHeader component', () => {
diffHasDiscussionsResultMock
,
diffHasExpandedDiscussionsResultMock
,
...
Object
.
values
(
mockStoreConfig
.
modules
.
diffs
.
actions
),
].
forEach
(
mock
=>
mock
.
mockReset
());
].
forEach
(
(
mock
)
=>
mock
.
mockReset
());
wrapper
.
destroy
();
});
...
...
@@ -80,7 +80,7 @@ describe('DiffFileHeader component', () => {
const
findCollapseIcon
=
()
=>
wrapper
.
find
({
ref
:
'
collapseIcon
'
});
const
findEditButton
=
()
=>
wrapper
.
find
({
ref
:
'
editButton
'
});
const
createComponent
=
props
=>
{
const
createComponent
=
(
props
)
=>
{
mockStoreConfig
=
cloneDeep
(
defaultMockStoreConfig
);
const
store
=
new
Vuex
.
Store
(
mockStoreConfig
);
...
...
@@ -219,7 +219,7 @@ describe('DiffFileHeader component', () => {
});
describe
(
'
for any file
'
,
()
=>
{
const
otherModes
=
Object
.
keys
(
diffViewerModes
).
filter
(
m
=>
m
!==
'
mode_changed
'
);
const
otherModes
=
Object
.
keys
(
diffViewerModes
).
filter
(
(
m
)
=>
m
!==
'
mode_changed
'
);
it
(
'
for mode_changed file mode displays mode changes
'
,
()
=>
{
createComponent
({
...
...
@@ -236,20 +236,23 @@ describe('DiffFileHeader component', () => {
expect
(
findModeChangedLine
().
text
()).
toMatch
(
/old-mode.+new-mode/
);
});
it
.
each
(
otherModes
.
map
(
m
=>
[
m
]))(
'
for %s file mode does not display mode changes
'
,
mode
=>
{
createComponent
({
diffFile
:
{
...
diffFile
,
a_mode
:
'
old-mode
'
,
b_mode
:
'
new-mode
'
,
viewer
:
{
...
diffFile
.
viewer
,
name
:
diffViewerModes
[
mode
],
it
.
each
(
otherModes
.
map
((
m
)
=>
[
m
]))(
'
for %s file mode does not display mode changes
'
,
(
mode
)
=>
{
createComponent
({
diffFile
:
{
...
diffFile
,
a_mode
:
'
old-mode
'
,
b_mode
:
'
new-mode
'
,
viewer
:
{
...
diffFile
.
viewer
,
name
:
diffViewerModes
[
mode
],
},
},
}
,
}
);
expect
(
findModeChangedLine
().
exists
()).
toBeFalsy
();
}
);
}
);
expect
(
findModeChangedLine
().
exists
()).
toBeFalsy
(
);
},
);
it
(
'
displays the LFS label for files stored in LFS
'
,
()
=>
{
createComponent
({
...
...
spec/frontend/diffs/components/hidden_files_warning_spec.js
View file @
4914a729
...
...
@@ -26,13 +26,15 @@ describe('HiddenFilesWarning', () => {
});
it
(
'
has a correct plain diff URL
'
,
()
=>
{
const
plainDiffLink
=
wrapper
.
findAll
(
'
a
'
).
wrappers
.
filter
(
x
=>
x
.
text
()
===
'
Plain diff
'
)[
0
];
const
plainDiffLink
=
wrapper
.
findAll
(
'
a
'
).
wrappers
.
filter
(
(
x
)
=>
x
.
text
()
===
'
Plain diff
'
)[
0
];
expect
(
plainDiffLink
.
attributes
(
'
href
'
)).
toBe
(
propsData
.
plainDiffPath
);
});
it
(
'
has a correct email patch URL
'
,
()
=>
{
const
emailPatchLink
=
wrapper
.
findAll
(
'
a
'
).
wrappers
.
filter
(
x
=>
x
.
text
()
===
'
Email patch
'
)[
0
];
const
emailPatchLink
=
wrapper
.
findAll
(
'
a
'
)
.
wrappers
.
filter
((
x
)
=>
x
.
text
()
===
'
Email patch
'
)[
0
];
expect
(
emailPatchLink
.
attributes
(
'
href
'
)).
toBe
(
propsData
.
emailPatchPath
);
});
...
...
spec/frontend/environments/environment_monitoring_spec.js
View file @
4914a729
...
...
@@ -16,7 +16,8 @@ describe('Monitoring Component', () => {
};
const
findButtons
=
()
=>
wrapper
.
findAll
(
GlButton
);
const
findButtonsByIcon
=
icon
=>
findButtons
().
filter
(
button
=>
button
.
props
(
'
icon
'
)
===
icon
);
const
findButtonsByIcon
=
(
icon
)
=>
findButtons
().
filter
((
button
)
=>
button
.
props
(
'
icon
'
)
===
icon
);
beforeEach
(()
=>
{
createWrapper
();
...
...
spec/frontend/import_entities/import_groups/graphql/services/status_poller_spec.js
View file @
4914a729
...
...
@@ -23,7 +23,7 @@ describe('Bulk import status poller', () => {
let
clientMock
;
const
listQueryCacheCalls
=
()
=>
clientMock
.
readQuery
.
mock
.
calls
.
filter
(
call
=>
call
[
0
].
query
===
bulkImportSourceGroupsQuery
);
clientMock
.
readQuery
.
mock
.
calls
.
filter
(
(
call
)
=>
call
[
0
].
query
===
bulkImportSourceGroupsQuery
);
beforeEach
(()
=>
{
clientMock
=
createMockClient
({
...
...
@@ -142,9 +142,11 @@ describe('Bulk import status poller', () => {
clientMock
.
cache
.
writeQuery
({
query
:
bulkImportSourceGroupsQuery
,
data
:
{
bulkImportSourceGroups
:
[
STARTED_GROUP_1
,
NOT_STARTED_GROUP
,
STARTED_GROUP_2
].
map
(
group
=>
generateFakeEntry
(
group
),
),
bulkImportSourceGroups
:
[
STARTED_GROUP_1
,
NOT_STARTED_GROUP
,
STARTED_GROUP_2
,
].
map
((
group
)
=>
generateFakeEntry
(
group
)),
},
});
...
...
@@ -155,9 +157,9 @@ describe('Bulk import status poller', () => {
await
waitForPromises
();
const
[[
doc
]]
=
clientMock
.
query
.
mock
.
calls
;
const
{
selections
}
=
doc
.
query
.
definitions
[
0
].
selectionSet
;
expect
(
selections
.
every
(
field
=>
field
.
name
.
value
===
'
group
'
)).
toBeTruthy
();
expect
(
selections
.
every
(
(
field
)
=>
field
.
name
.
value
===
'
group
'
)).
toBeTruthy
();
expect
(
selections
).
toHaveLength
(
2
);
expect
(
selections
.
map
(
sel
=>
sel
.
arguments
[
0
].
value
.
value
)).
toStrictEqual
([
expect
(
selections
.
map
(
(
sel
)
=>
sel
.
arguments
[
0
].
value
.
value
)).
toStrictEqual
([
`
${
TARGET_NAMESPACE
}
/
${
STARTED_GROUP_1
.
import_target
.
new_name
}
`
,
`
${
TARGET_NAMESPACE
}
/
${
STARTED_GROUP_2
.
import_target
.
new_name
}
`
,
]);
...
...
@@ -167,7 +169,7 @@ describe('Bulk import status poller', () => {
clientMock
.
cache
.
writeQuery
({
query
:
bulkImportSourceGroupsQuery
,
data
:
{
bulkImportSourceGroups
:
[
STARTED_GROUP_1
,
STARTED_GROUP_2
].
map
(
group
=>
bulkImportSourceGroups
:
[
STARTED_GROUP_1
,
STARTED_GROUP_2
].
map
(
(
group
)
=>
generateFakeEntry
(
group
),
),
},
...
...
@@ -189,7 +191,7 @@ describe('Bulk import status poller', () => {
clientMock
.
cache
.
writeQuery
({
query
:
bulkImportSourceGroupsQuery
,
data
:
{
bulkImportSourceGroups
:
[
STARTED_GROUP_1
,
STARTED_GROUP_2
].
map
(
group
=>
bulkImportSourceGroups
:
[
STARTED_GROUP_1
,
STARTED_GROUP_2
].
map
(
(
group
)
=>
generateFakeEntry
(
group
),
),
},
...
...
spec/frontend/issuable/related_issues/components/add_issuable_form_spec.js
View file @
4914a729
...
...
@@ -22,13 +22,14 @@ const issuable2 = {
const
pathIdSeparator
=
PathIdSeparator
.
Issue
;
const
findFormInput
=
wrapper
=>
wrapper
.
find
(
'
.js-add-issuable-form-input
'
).
element
;
const
findFormInput
=
(
wrapper
)
=>
wrapper
.
find
(
'
.js-add-issuable-form-input
'
).
element
;
const
findRadioInput
=
(
inputs
,
value
)
=>
inputs
.
filter
(
input
=>
input
.
element
.
value
===
value
)[
0
];
const
findRadioInput
=
(
inputs
,
value
)
=>
inputs
.
filter
((
input
)
=>
input
.
element
.
value
===
value
)[
0
];
const
findRadioInputs
=
wrapper
=>
wrapper
.
findAll
(
'
[name="linked-issue-type-radio"]
'
);
const
findRadioInputs
=
(
wrapper
)
=>
wrapper
.
findAll
(
'
[name="linked-issue-type-radio"]
'
);
const
constructWrapper
=
props
=>
{
const
constructWrapper
=
(
props
)
=>
{
return
shallowMount
(
AddIssuableForm
,
{
propsData
:
{
inputValue
:
''
,
...
...
@@ -192,7 +193,7 @@ describe('AddIssuableForm', () => {
});
describe
(
'
when the form is submitted
'
,
()
=>
{
it
(
'
emits an event with a "relates_to" link type when the "relates to" radio input selected
'
,
done
=>
{
it
(
'
emits an event with a "relates_to" link type when the "relates to" radio input selected
'
,
(
done
)
=>
{
jest
.
spyOn
(
wrapper
.
vm
,
'
$emit
'
).
mockImplementation
(()
=>
{});
wrapper
.
vm
.
linkedIssueType
=
linkedIssueTypesMap
.
RELATES_TO
;
...
...
@@ -207,7 +208,7 @@ describe('AddIssuableForm', () => {
});
});
it
(
'
emits an event with a "blocks" link type when the "blocks" radio input selected
'
,
done
=>
{
it
(
'
emits an event with a "blocks" link type when the "blocks" radio input selected
'
,
(
done
)
=>
{
jest
.
spyOn
(
wrapper
.
vm
,
'
$emit
'
).
mockImplementation
(()
=>
{});
wrapper
.
vm
.
linkedIssueType
=
linkedIssueTypesMap
.
BLOCKS
;
...
...
@@ -222,7 +223,7 @@ describe('AddIssuableForm', () => {
});
});
it
(
'
emits an event with a "is_blocked_by" link type when the "is blocked by" radio input selected
'
,
done
=>
{
it
(
'
emits an event with a "is_blocked_by" link type when the "is blocked by" radio input selected
'
,
(
done
)
=>
{
jest
.
spyOn
(
wrapper
.
vm
,
'
$emit
'
).
mockImplementation
(()
=>
{});
wrapper
.
vm
.
linkedIssueType
=
linkedIssueTypesMap
.
IS_BLOCKED_BY
;
...
...
@@ -237,7 +238,7 @@ describe('AddIssuableForm', () => {
});
});
it
(
'
shows error message when error is present
'
,
done
=>
{
it
(
'
shows error message when error is present
'
,
(
done
)
=>
{
const
itemAddFailureMessage
=
'
Something went wrong while submitting.
'
;
wrapper
.
setProps
({
hasError
:
true
,
...
...
spec/frontend/notes/components/discussion_filter_spec.js
View file @
4914a729
...
...
@@ -25,7 +25,8 @@ describe('DiscussionFilter component', () => {
const
filterDiscussion
=
jest
.
fn
();
const
findFilter
=
filterType
=>
wrapper
.
find
(
`.dropdown-item[data-filter-type="
${
filterType
}
"]`
);
const
findFilter
=
(
filterType
)
=>
wrapper
.
find
(
`.dropdown-item[data-filter-type="
${
filterType
}
"]`
);
const
mountComponent
=
()
=>
{
const
discussions
=
[
...
...
@@ -145,7 +146,7 @@ describe('DiscussionFilter component', () => {
window
.
mrTabs
=
undefined
;
});
it
(
'
only renders when discussion tab is active
'
,
done
=>
{
it
(
'
only renders when discussion tab is active
'
,
(
done
)
=>
{
eventHub
.
$emit
(
'
MergeRequestTabChange
'
,
'
commit
'
);
wrapper
.
vm
.
$nextTick
(()
=>
{
...
...
@@ -160,7 +161,7 @@ describe('DiscussionFilter component', () => {
window
.
location
.
hash
=
''
;
});
it
(
'
updates the filter when the URL links to a note
'
,
done
=>
{
it
(
'
updates the filter when the URL links to a note
'
,
(
done
)
=>
{
window
.
location
.
hash
=
`note_
${
discussionMock
.
notes
[
0
].
id
}
`
;
wrapper
.
vm
.
currentValue
=
discussionFiltersMock
[
2
].
value
;
wrapper
.
vm
.
handleLocationHash
();
...
...
@@ -171,7 +172,7 @@ describe('DiscussionFilter component', () => {
});
});
it
(
'
does not update the filter when the current filter is "Show all activity"
'
,
done
=>
{
it
(
'
does not update the filter when the current filter is "Show all activity"
'
,
(
done
)
=>
{
window
.
location
.
hash
=
`note_
${
discussionMock
.
notes
[
0
].
id
}
`
;
wrapper
.
vm
.
handleLocationHash
();
...
...
@@ -181,7 +182,7 @@ describe('DiscussionFilter component', () => {
});
});
it
(
'
only updates filter when the URL links to a note
'
,
done
=>
{
it
(
'
only updates filter when the URL links to a note
'
,
(
done
)
=>
{
window
.
location
.
hash
=
`testing123`
;
wrapper
.
vm
.
handleLocationHash
();
...
...
@@ -191,7 +192,7 @@ describe('DiscussionFilter component', () => {
});
});
it
(
'
fetches discussions when there is a hash
'
,
done
=>
{
it
(
'
fetches discussions when there is a hash
'
,
(
done
)
=>
{
window
.
location
.
hash
=
`note_
${
discussionMock
.
notes
[
0
].
id
}
`
;
wrapper
.
vm
.
currentValue
=
discussionFiltersMock
[
2
].
value
;
jest
.
spyOn
(
wrapper
.
vm
,
'
selectFilter
'
).
mockImplementation
(()
=>
{});
...
...
@@ -203,7 +204,7 @@ describe('DiscussionFilter component', () => {
});
});
it
(
'
does not fetch discussions when there is no hash
'
,
done
=>
{
it
(
'
does not fetch discussions when there is no hash
'
,
(
done
)
=>
{
window
.
location
.
hash
=
''
;
jest
.
spyOn
(
wrapper
.
vm
,
'
selectFilter
'
).
mockImplementation
(()
=>
{});
wrapper
.
vm
.
handleLocationHash
();
...
...
spec/frontend/pipeline_editor/components/lint/ci_lint_results_spec.js
View file @
4914a729
...
...
@@ -25,8 +25,9 @@ describe('CI Lint Results', () => {
};
const
findTable
=
()
=>
wrapper
.
find
(
GlTable
);
const
findByTestId
=
selector
=>
()
=>
wrapper
.
find
(
`[data-testid="ci-lint-
${
selector
}
"]`
);
const
findAllByTestId
=
selector
=>
()
=>
wrapper
.
findAll
(
`[data-testid="ci-lint-
${
selector
}
"]`
);
const
findByTestId
=
(
selector
)
=>
()
=>
wrapper
.
find
(
`[data-testid="ci-lint-
${
selector
}
"]`
);
const
findAllByTestId
=
(
selector
)
=>
()
=>
wrapper
.
findAll
(
`[data-testid="ci-lint-
${
selector
}
"]`
);
const
findLinkToDoc
=
()
=>
wrapper
.
find
(
GlLink
);
const
findErrors
=
findByTestId
(
'
errors
'
);
const
findWarnings
=
findByTestId
(
'
warnings
'
);
...
...
@@ -37,7 +38,7 @@ describe('CI Lint Results', () => {
const
findBeforeScripts
=
findAllByTestId
(
'
before-script
'
);
const
findScripts
=
findAllByTestId
(
'
script
'
);
const
findAfterScripts
=
findAllByTestId
(
'
after-script
'
);
const
filterEmptyScripts
=
property
=>
mockJobs
.
filter
(
job
=>
job
[
property
].
length
!==
0
);
const
filterEmptyScripts
=
(
property
)
=>
mockJobs
.
filter
((
job
)
=>
job
[
property
].
length
!==
0
);
afterEach
(()
=>
{
wrapper
.
destroy
();
...
...
spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js
View file @
4914a729
...
...
@@ -185,7 +185,9 @@ describe('ServiceDeskSetting', () => {
const
expectedTemplates
=
[
''
].
concat
(
templates
);
const
dropdown
=
findTemplateDropdown
();
const
dropdownList
=
Array
.
from
(
dropdown
.
element
.
children
).
map
(
option
=>
option
.
innerText
);
const
dropdownList
=
Array
.
from
(
dropdown
.
element
.
children
).
map
(
(
option
)
=>
option
.
innerText
,
);
expect
(
dropdown
.
element
.
children
).
toHaveLength
(
expectedTemplates
.
length
);
expect
(
dropdownList
.
includes
(
'
Bug
'
)).
toEqual
(
true
);
...
...
spec/frontend/snippets/components/edit_spec.js
View file @
4914a729
...
...
@@ -149,9 +149,11 @@ describe('Snippet Edit app', () => {
const
hasDisabledSubmit
=
()
=>
Boolean
(
findSubmitButton
().
attributes
(
'
disabled
'
));
const
clickSubmitBtn
=
()
=>
wrapper
.
find
(
'
[data-testid="snippet-edit-form"]
'
).
trigger
(
'
submit
'
);
const
triggerBlobActions
=
actions
=>
findBlobActions
().
vm
.
$emit
(
'
actions
'
,
actions
);
const
setUploadFilesHtml
=
paths
=>
{
wrapper
.
vm
.
$el
.
innerHTML
=
paths
.
map
(
path
=>
`<input name="files[]" value="
${
path
}
">`
).
join
(
''
);
const
triggerBlobActions
=
(
actions
)
=>
findBlobActions
().
vm
.
$emit
(
'
actions
'
,
actions
);
const
setUploadFilesHtml
=
(
paths
)
=>
{
wrapper
.
vm
.
$el
.
innerHTML
=
paths
.
map
((
path
)
=>
`<input name="files[]" value="
${
path
}
">`
)
.
join
(
''
);
};
const
getApiData
=
({
id
,
...
...
@@ -189,7 +191,7 @@ describe('Snippet Edit app', () => {
it
.
each
([[{}],
[{
snippetGid
:
''
}]])(
'
should render all required components with %s
'
,
props
=>
{
(
props
)
=>
{
createComponent
(
props
);
expect
(
wrapper
.
find
(
TitleField
).
exists
()).
toBe
(
true
);
...
...
@@ -257,7 +259,7 @@ describe('Snippet Edit app', () => {
describe
(
'
default visibility
'
,
()
=>
{
it
.
each
([
SNIPPET_VISIBILITY_PRIVATE
,
SNIPPET_VISIBILITY_INTERNAL
,
SNIPPET_VISIBILITY_PUBLIC
])(
'
marks %s visibility by default
'
,
async
visibility
=>
{
async
(
visibility
)
=>
{
createComponent
({
props
:
{
snippetGid
:
''
},
selectedLevel
:
visibility
,
...
...
spec/frontend/user_lists/store/show/mutations_spec.js
View file @
4914a729
...
...
@@ -57,7 +57,7 @@ describe('User Lists Show Mutations', () => {
});
it
(
'
adds the new IDs to the state unless empty
'
,
()
=>
{
newIds
.
filter
(
id
=>
id
).
forEach
(
id
=>
expect
(
mockState
.
userIds
).
toContain
(
id
));
newIds
.
filter
(
(
id
)
=>
id
).
forEach
((
id
)
=>
expect
(
mockState
.
userIds
).
toContain
(
id
));
});
it
(
'
does not add duplicate IDs to the state
'
,
()
=>
{
...
...
@@ -80,7 +80,9 @@ describe('User Lists Show Mutations', () => {
});
it
(
'
should leave the rest of the IDs alone
'
,
()
=>
{
userIds
.
filter
(
id
=>
id
!==
removedId
).
forEach
(
id
=>
expect
(
mockState
.
userIds
).
toContain
(
id
));
userIds
.
filter
((
id
)
=>
id
!==
removedId
)
.
forEach
((
id
)
=>
expect
(
mockState
.
userIds
).
toContain
(
id
));
});
});
});
spec/frontend/vue_shared/components/stacked_progress_bar_spec.js
View file @
4914a729
...
...
@@ -3,7 +3,7 @@ import Vue from 'vue';
import
mountComponent
from
'
helpers/vue_mount_component_helper
'
;
import
stackedProgressBarComponent
from
'
~/vue_shared/components/stacked_progress_bar.vue
'
;
const
createComponent
=
config
=>
{
const
createComponent
=
(
config
)
=>
{
const
Component
=
Vue
.
extend
(
stackedProgressBarComponent
);
const
defaultConfig
=
{
successLabel
:
'
Synced
'
,
...
...
@@ -29,11 +29,12 @@ describe('StackedProgressBarComponent', () => {
vm
.
$destroy
();
});
const
findSuccessBarText
=
wrapper
=>
wrapper
.
$el
.
querySelector
(
'
.status-green
'
).
innerText
.
trim
();
const
findNeutralBarText
=
wrapper
=>
const
findSuccessBarText
=
(
wrapper
)
=>
wrapper
.
$el
.
querySelector
(
'
.status-green
'
).
innerText
.
trim
();
const
findNeutralBarText
=
(
wrapper
)
=>
wrapper
.
$el
.
querySelector
(
'
.status-neutral
'
).
innerText
.
trim
();
const
findFailureBarText
=
wrapper
=>
wrapper
.
$el
.
querySelector
(
'
.status-red
'
).
innerText
.
trim
();
const
findUnavailableBarText
=
wrapper
=>
const
findFailureBarText
=
(
wrapper
)
=>
wrapper
.
$el
.
querySelector
(
'
.status-red
'
).
innerText
.
trim
();
const
findUnavailableBarText
=
(
wrapper
)
=>
wrapper
.
$el
.
querySelector
(
'
.status-unavailable
'
).
innerText
.
trim
();
describe
(
'
computed
'
,
()
=>
{
...
...
spec/frontend_integration/ide/helpers/ide_helper.js
View file @
4914a729
...
...
@@ -8,11 +8,11 @@ import {
findByText
,
}
from
'
@testing-library/dom
'
;
const
isFolderRowOpen
=
row
=>
row
.
matches
(
'
.folder.is-open
'
);
const
isFolderRowOpen
=
(
row
)
=>
row
.
matches
(
'
.folder.is-open
'
);
const
getLeftSidebar
=
()
=>
screen
.
getByTestId
(
'
left-sidebar
'
);
export
const
switchLeftSidebarTab
=
name
=>
{
export
const
switchLeftSidebarTab
=
(
name
)
=>
{
const
sidebar
=
getLeftSidebar
();
const
button
=
getByLabelText
(
sidebar
,
name
);
...
...
@@ -23,7 +23,7 @@ export const switchLeftSidebarTab = name => {
export
const
getStatusBar
=
()
=>
document
.
querySelector
(
'
.ide-status-bar
'
);
export
const
waitForMonacoEditor
=
()
=>
new
Promise
(
resolve
=>
window
.
monaco
.
editor
.
onDidCreateEditor
(
resolve
));
new
Promise
(
(
resolve
)
=>
window
.
monaco
.
editor
.
onDidCreateEditor
(
resolve
));
export
const
findMonacoEditor
=
()
=>
screen
.
findAllByLabelText
(
/Editor content;/
).
then
(([
x
])
=>
x
.
closest
(
'
.monaco-editor
'
));
...
...
@@ -31,7 +31,7 @@ export const findMonacoEditor = () =>
export
const
findMonacoDiffEditor
=
()
=>
screen
.
findAllByLabelText
(
/Editor content;/
).
then
(([
x
])
=>
x
.
closest
(
'
.monaco-diff-editor
'
));
export
const
findAndSetEditorValue
=
async
value
=>
{
export
const
findAndSetEditorValue
=
async
(
value
)
=>
{
const
editor
=
await
findMonacoEditor
();
const
uri
=
editor
.
getAttribute
(
'
data-uri
'
);
...
...
@@ -56,10 +56,12 @@ const findFileChild = async (row, name, index = 0) => {
const
container
=
await
findFileRowContainer
(
row
);
const
children
=
await
findAllByText
(
container
,
name
,
{
selector
:
'
.file-row-name
'
});
return
children
.
map
(
x
=>
x
.
closest
(
'
.file-row
'
)).
find
(
x
=>
x
.
dataset
.
level
===
index
.
toString
());
return
children
.
map
((
x
)
=>
x
.
closest
(
'
.file-row
'
))
.
find
((
x
)
=>
x
.
dataset
.
level
===
index
.
toString
());
};
const
openFileRow
=
row
=>
{
const
openFileRow
=
(
row
)
=>
{
if
(
!
row
||
isFolderRowOpen
(
row
))
{
return
;
}
...
...
@@ -101,7 +103,7 @@ const fillFileNameModal = async (value, submitText = 'Create file') => {
createButton
.
click
();
};
const
findAndClickRootAction
=
async
name
=>
{
const
findAndClickRootAction
=
async
(
name
)
=>
{
const
container
=
await
findRootActions
();
const
button
=
getByLabelText
(
container
,
name
);
...
...
@@ -112,13 +114,13 @@ export const clickPreviewMarkdown = () => {
screen
.
getByText
(
'
Preview Markdown
'
).
click
();
};
export
const
openFile
=
async
path
=>
{
export
const
openFile
=
async
(
path
)
=>
{
const
row
=
await
findAndTraverseToPath
(
path
);
openFileRow
(
row
);
};
export
const
waitForTabToOpen
=
fileName
=>
export
const
waitForTabToOpen
=
(
fileName
)
=>
findByText
(
document
.
querySelector
(
'
.multi-file-edit-pane
'
),
fileName
);
export
const
createFile
=
async
(
path
,
content
)
=>
{
...
...
@@ -137,10 +139,10 @@ export const createFile = async (path, content) => {
};
export
const
getFilesList
=
()
=>
{
return
screen
.
getAllByTestId
(
'
file-row-name-container
'
).
map
(
e
=>
e
.
textContent
.
trim
());
return
screen
.
getAllByTestId
(
'
file-row-name-container
'
).
map
(
(
e
)
=>
e
.
textContent
.
trim
());
};
export
const
deleteFile
=
async
path
=>
{
export
const
deleteFile
=
async
(
path
)
=>
{
const
row
=
await
findAndTraverseToPath
(
path
);
clickFileRowAction
(
row
,
'
Delete
'
);
};
...
...
@@ -152,7 +154,7 @@ export const renameFile = async (path, newPath) => {
await
fillFileNameModal
(
newPath
,
'
Rename file
'
);
};
export
const
closeFile
=
async
path
=>
{
export
const
closeFile
=
async
(
path
)
=>
{
const
button
=
await
screen
.
getByLabelText
(
`Close
${
path
}
`
,
{
selector
:
'
.multi-file-tabs button
'
,
});
...
...
@@ -164,7 +166,7 @@ export const commit = async () => {
switchLeftSidebarTab
(
'
Commit
'
);
screen
.
getByTestId
(
'
begin-commit-button
'
).
click
();
await
screen
.
findByLabelText
(
/Commit to .+ branch/
).
then
(
x
=>
x
.
click
());
await
screen
.
findByLabelText
(
/Commit to .+ branch/
).
then
(
(
x
)
=>
x
.
click
());
screen
.
getByText
(
'
Commit
'
).
click
();
};
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