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
d4a8b730
Commit
d4a8b730
authored
Dec 23, 2020
by
Lukas Eipert
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Run prettier on 41 files - 64 of 73
Part of our prettier migration; changing the arrow-parens style.
parent
dc6c2412
Changes
41
Hide whitespace changes
Inline
Side-by-side
Showing
41 changed files
with
122 additions
and
122 deletions
+122
-122
spec/frontend/monitoring/components/dashboard_actions_menu_spec.js
...tend/monitoring/components/dashboard_actions_menu_spec.js
+4
-4
spec/frontend/monitoring/components/dashboard_header_spec.js
spec/frontend/monitoring/components/dashboard_header_spec.js
+6
-6
spec/frontend/monitoring/components/dashboard_panel_spec.js
spec/frontend/monitoring/components/dashboard_panel_spec.js
+3
-3
spec/frontend/monitoring/components/dashboard_spec.js
spec/frontend/monitoring/components/dashboard_spec.js
+7
-7
spec/frontend/monitoring/components/dashboards_dropdown_spec.js
...rontend/monitoring/components/dashboards_dropdown_spec.js
+3
-3
spec/frontend/monitoring/components/duplicate_dashboard_form_spec.js
...nd/monitoring/components/duplicate_dashboard_form_spec.js
+2
-2
spec/frontend/monitoring/components/embeds/embed_group_spec.js
...frontend/monitoring/components/embeds/embed_group_spec.js
+2
-2
spec/frontend/monitoring/components/graph_group_spec.js
spec/frontend/monitoring/components/graph_group_spec.js
+1
-1
spec/frontend/monitoring/components/group_empty_state_spec.js
.../frontend/monitoring/components/group_empty_state_spec.js
+1
-1
spec/frontend/monitoring/components/links_section_spec.js
spec/frontend/monitoring/components/links_section_spec.js
+1
-1
spec/frontend/monitoring/components/refresh_button_spec.js
spec/frontend/monitoring/components/refresh_button_spec.js
+2
-2
spec/frontend/monitoring/components/variables/dropdown_field_spec.js
...nd/monitoring/components/variables/dropdown_field_spec.js
+1
-1
spec/frontend/monitoring/fixture_data.js
spec/frontend/monitoring/fixture_data.js
+2
-2
spec/frontend/monitoring/graph_data.js
spec/frontend/monitoring/graph_data.js
+2
-2
spec/frontend/monitoring/requests/index_spec.js
spec/frontend/monitoring/requests/index_spec.js
+9
-9
spec/frontend/monitoring/store/actions_spec.js
spec/frontend/monitoring/store/actions_spec.js
+21
-21
spec/frontend/monitoring/store/getters_spec.js
spec/frontend/monitoring/store/getters_spec.js
+1
-1
spec/frontend/monitoring/store/mutations_spec.js
spec/frontend/monitoring/store/mutations_spec.js
+1
-1
spec/frontend/monitoring/store/utils_spec.js
spec/frontend/monitoring/store/utils_spec.js
+2
-2
spec/frontend/monitoring/store_utils.js
spec/frontend/monitoring/store_utils.js
+4
-4
spec/frontend/monitoring/utils_spec.js
spec/frontend/monitoring/utils_spec.js
+2
-2
spec/frontend/new_branch_spec.js
spec/frontend/new_branch_spec.js
+1
-1
spec/frontend/notebook/cells/code_spec.js
spec/frontend/notebook/cells/code_spec.js
+3
-3
spec/frontend/notebook/cells/output/index_spec.js
spec/frontend/notebook/cells/output/index_spec.js
+6
-6
spec/frontend/notebook/cells/prompt_spec.js
spec/frontend/notebook/cells/prompt_spec.js
+2
-2
spec/frontend/notebook/index_spec.js
spec/frontend/notebook/index_spec.js
+3
-3
spec/frontend/notes/components/diff_discussion_header_spec.js
.../frontend/notes/components/diff_discussion_header_spec.js
+5
-5
spec/frontend/notes/components/discussion_counter_spec.js
spec/frontend/notes/components/discussion_counter_spec.js
+1
-1
spec/frontend/notes/components/discussion_notes_spec.js
spec/frontend/notes/components/discussion_notes_spec.js
+3
-3
spec/frontend/notes/components/discussion_resolve_button_spec.js
...ontend/notes/components/discussion_resolve_button_spec.js
+1
-1
spec/frontend/notes/components/multiline_comment_utils_spec.js
...frontend/notes/components/multiline_comment_utils_spec.js
+2
-2
spec/frontend/notes/components/note_actions_spec.js
spec/frontend/notes/components/note_actions_spec.js
+2
-2
spec/frontend/notes/components/note_attachment_spec.js
spec/frontend/notes/components/note_attachment_spec.js
+1
-1
spec/frontend/notes/components/note_awards_list_spec.js
spec/frontend/notes/components/note_awards_list_spec.js
+3
-3
spec/frontend/notes/components/note_body_spec.js
spec/frontend/notes/components/note_body_spec.js
+1
-1
spec/frontend/notes/components/note_form_spec.js
spec/frontend/notes/components/note_form_spec.js
+2
-2
spec/frontend/notes/components/note_header_spec.js
spec/frontend/notes/components/note_header_spec.js
+2
-2
spec/frontend/notes/components/noteable_discussion_spec.js
spec/frontend/notes/components/noteable_discussion_spec.js
+1
-1
spec/frontend/notes/components/noteable_note_spec.js
spec/frontend/notes/components/noteable_note_spec.js
+2
-2
spec/frontend/notes/components/notes_app_spec.js
spec/frontend/notes/components/notes_app_spec.js
+3
-3
spec/frontend/notes/components/toggle_replies_widget_spec.js
spec/frontend/notes/components/toggle_replies_widget_spec.js
+1
-1
No files found.
spec/frontend/monitoring/components/dashboard_actions_menu_spec.js
View file @
d4a8b730
...
...
@@ -107,7 +107,7 @@ describe('Actions menu', () => {
describe
(
'
adding new metric from modal
'
,
()
=>
{
let
origPage
;
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
jest
.
spyOn
(
Tracking
,
'
event
'
).
mockReturnValue
();
createShallowWrapper
();
...
...
@@ -123,7 +123,7 @@ describe('Actions menu', () => {
document
.
body
.
dataset
.
page
=
origPage
;
});
it
(
'
is tracked
'
,
done
=>
{
it
(
'
is tracked
'
,
(
done
)
=>
{
const
submitButton
=
findAddMetricModalSubmitButton
().
vm
;
wrapper
.
vm
.
$nextTick
(()
=>
{
...
...
@@ -219,7 +219,7 @@ describe('Actions menu', () => {
});
});
describe
.
each
(
ootbDashboards
)(
'
when current dashboard is OOTB
'
,
dashboard
=>
{
describe
.
each
(
ootbDashboards
)(
'
when current dashboard is OOTB
'
,
(
dashboard
)
=>
{
beforeEach
(()
=>
{
setupAllDashboards
(
store
,
dashboard
.
path
);
});
...
...
@@ -240,7 +240,7 @@ describe('Actions menu', () => {
createShallowWrapper
();
});
describe
.
each
(
ootbDashboards
)(
'
when current dashboard is OOTB
'
,
dashboard
=>
{
describe
.
each
(
ootbDashboards
)(
'
when current dashboard is OOTB
'
,
(
dashboard
)
=>
{
beforeEach
(()
=>
{
setupAllDashboards
(
store
,
dashboard
.
path
);
});
...
...
spec/frontend/monitoring/components/dashboard_header_spec.js
View file @
d4a8b730
...
...
@@ -41,7 +41,7 @@ describe('Dashboard header', () => {
const
findActionsMenu
=
()
=>
wrapper
.
find
(
ActionsMenu
);
const
setSearchTerm
=
searchTerm
=>
{
const
setSearchTerm
=
(
searchTerm
)
=>
{
store
.
commit
(
`monitoringDashboard/
${
types
.
SET_ENVIRONMENTS_FILTER
}
`
,
searchTerm
);
};
...
...
@@ -147,13 +147,13 @@ describe('Dashboard header', () => {
it
(
'
environments dropdown items can be checked
'
,
()
=>
{
const
items
=
findEnvsDropdownItems
();
const
checkItems
=
findEnvsDropdownItems
().
filter
(
item
=>
item
.
props
(
'
isCheckItem
'
));
const
checkItems
=
findEnvsDropdownItems
().
filter
(
(
item
)
=>
item
.
props
(
'
isCheckItem
'
));
expect
(
items
).
toHaveLength
(
checkItems
.
length
);
});
it
(
'
checks the currently selected environment
'
,
()
=>
{
const
selectedItems
=
findEnvsDropdownItems
().
filter
(
item
=>
item
.
props
(
'
isChecked
'
));
const
selectedItems
=
findEnvsDropdownItems
().
filter
(
(
item
)
=>
item
.
props
(
'
isChecked
'
));
expect
(
selectedItems
).
toHaveLength
(
1
);
expect
(
selectedItems
.
at
(
0
).
text
()).
toBe
(
currentEnvironmentName
);
...
...
@@ -218,7 +218,7 @@ describe('Dashboard header', () => {
});
describe
(
'
timezone setting
'
,
()
=>
{
const
setupWithTimezone
=
value
=>
{
const
setupWithTimezone
=
(
value
)
=>
{
store
=
createStore
({
dashboardTimezone
:
value
});
createShallowWrapper
();
};
...
...
@@ -295,7 +295,7 @@ describe('Dashboard header', () => {
});
describe
(
'
adding metrics prop
'
,
()
=>
{
it
.
each
(
ootbDashboards
)(
'
gets passed true if current dashboard is OOTB
'
,
dashboardPath
=>
{
it
.
each
(
ootbDashboards
)(
'
gets passed true if current dashboard is OOTB
'
,
(
dashboardPath
)
=>
{
createShallowWrapper
({
customMetricsAvailable
:
true
});
store
.
state
.
monitoringDashboard
.
emptyState
=
false
;
...
...
@@ -308,7 +308,7 @@ describe('Dashboard header', () => {
it
.
each
(
customDashboards
)(
'
gets passed false if current dashboard is custom
'
,
dashboardPath
=>
{
(
dashboardPath
)
=>
{
createShallowWrapper
({
customMetricsAvailable
:
true
});
store
.
state
.
monitoringDashboard
.
emptyState
=
false
;
...
...
spec/frontend/monitoring/components/dashboard_panel_spec.js
View file @
d4a8b730
...
...
@@ -57,7 +57,7 @@ describe('Dashboard Panel', () => {
const
findTitle
=
()
=>
wrapper
.
find
({
ref
:
'
graphTitle
'
});
const
findCtxMenu
=
()
=>
wrapper
.
find
({
ref
:
'
contextualMenu
'
});
const
findMenuItems
=
()
=>
wrapper
.
findAll
(
GlDropdownItem
);
const
findMenuItemByText
=
text
=>
findMenuItems
().
filter
(
i
=>
i
.
text
()
===
text
);
const
findMenuItemByText
=
(
text
)
=>
findMenuItems
().
filter
((
i
)
=>
i
.
text
()
===
text
);
const
findAlertsWidget
=
()
=>
wrapper
.
find
(
AlertWidget
);
const
createWrapper
=
(
props
,
{
mountFn
=
shallowMount
,
...
options
}
=
{})
=>
{
...
...
@@ -82,7 +82,7 @@ describe('Dashboard Panel', () => {
});
};
const
setMetricsSavedToDb
=
val
=>
const
setMetricsSavedToDb
=
(
val
)
=>
monitoringDashboard
.
getters
.
metricsSavedToDb
.
mockReturnValue
(
val
);
beforeEach
(()
=>
{
...
...
@@ -214,7 +214,7 @@ describe('Dashboard Panel', () => {
});
describe
(
'
Supports different panel types
'
,
()
=>
{
const
dataWithType
=
type
=>
{
const
dataWithType
=
(
type
)
=>
{
return
{
...
graphData
,
type
,
...
...
spec/frontend/monitoring/components/dashboard_spec.js
View file @
d4a8b730
...
...
@@ -126,7 +126,7 @@ describe('Dashboard', () => {
});
describe
(
'
panel containers layout
'
,
()
=>
{
const
findPanelLayoutWrapperAt
=
index
=>
{
const
findPanelLayoutWrapperAt
=
(
index
)
=>
{
return
wrapper
.
find
(
GraphGroup
)
.
findAll
(
'
[data-testid="dashboard-panel-layout-wrapper"]
'
)
...
...
@@ -225,7 +225,7 @@ describe('Dashboard', () => {
describe
(
'
when the URL contains a reference to a panel
'
,
()
=>
{
let
location
;
const
setSearch
=
search
=>
{
const
setSearch
=
(
search
)
=>
{
window
.
location
=
{
...
location
,
search
};
};
...
...
@@ -391,7 +391,7 @@ describe('Dashboard', () => {
});
describe
(
'
when all panels in the first group are loading
'
,
()
=>
{
const
findGroupAt
=
i
=>
wrapper
.
findAll
(
GraphGroup
).
at
(
i
);
const
findGroupAt
=
(
i
)
=>
wrapper
.
findAll
(
GraphGroup
).
at
(
i
);
beforeEach
(()
=>
{
setupStoreWithDashboard
(
store
);
...
...
@@ -434,7 +434,7 @@ describe('Dashboard', () => {
setupStoreWithData
(
store
);
wrapper
.
vm
.
$nextTick
(()
=>
{
wrapper
.
findAll
(
GraphGroup
).
wrappers
.
forEach
(
groupWrapper
=>
{
wrapper
.
findAll
(
GraphGroup
).
wrappers
.
forEach
(
(
groupWrapper
)
=>
{
expect
(
groupWrapper
.
props
(
'
isLoading
'
)).
toBe
(
false
);
});
});
...
...
@@ -505,7 +505,7 @@ describe('Dashboard', () => {
let
group
;
let
panel
;
const
mockKeyup
=
key
=>
window
.
dispatchEvent
(
new
KeyboardEvent
(
'
keyup
'
,
{
key
}));
const
mockKeyup
=
(
key
)
=>
window
.
dispatchEvent
(
new
KeyboardEvent
(
'
keyup
'
,
{
key
}));
const
MockPanel
=
{
template
:
`<div><slot name="top-left"/></div>`
,
...
...
@@ -532,7 +532,7 @@ describe('Dashboard', () => {
it
(
'
displays a single panel and others are hidden
'
,
()
=>
{
const
panels
=
wrapper
.
findAll
(
MockPanel
);
const
visiblePanels
=
panels
.
filter
(
w
=>
w
.
isVisible
());
const
visiblePanels
=
panels
.
filter
(
(
w
)
=>
w
.
isVisible
());
expect
(
findExpandedPanel
().
isVisible
()).
toBe
(
true
);
// v-show for hiding panels is more performant than v-if
...
...
@@ -595,7 +595,7 @@ describe('Dashboard', () => {
describe
(
'
drag and drop function
'
,
()
=>
{
const
findDraggables
=
()
=>
wrapper
.
findAll
(
VueDraggable
);
const
findEnabledDraggables
=
()
=>
findDraggables
().
filter
(
f
=>
!
f
.
attributes
(
'
disabled
'
));
const
findEnabledDraggables
=
()
=>
findDraggables
().
filter
(
(
f
)
=>
!
f
.
attributes
(
'
disabled
'
));
const
findDraggablePanels
=
()
=>
wrapper
.
findAll
(
'
.js-draggable-panel
'
);
const
findRearrangeButton
=
()
=>
wrapper
.
find
(
'
.js-rearrange-button
'
);
...
...
spec/frontend/monitoring/components/dashboards_dropdown_spec.js
View file @
d4a8b730
...
...
@@ -34,11 +34,11 @@ describe('DashboardsDropdown', () => {
}
const
findItems
=
()
=>
wrapper
.
findAll
(
GlDropdownItem
);
const
findItemAt
=
i
=>
wrapper
.
findAll
(
GlDropdownItem
).
at
(
i
);
const
findItemAt
=
(
i
)
=>
wrapper
.
findAll
(
GlDropdownItem
).
at
(
i
);
const
findSearchInput
=
()
=>
wrapper
.
find
({
ref
:
'
monitorDashboardsDropdownSearch
'
});
const
findNoItemsMsg
=
()
=>
wrapper
.
find
({
ref
:
'
monitorDashboardsDropdownMsg
'
});
const
findStarredListDivider
=
()
=>
wrapper
.
find
({
ref
:
'
starredListDivider
'
});
const
setSearchTerm
=
searchTerm
=>
wrapper
.
setData
({
searchTerm
});
const
setSearchTerm
=
(
searchTerm
)
=>
wrapper
.
setData
({
searchTerm
});
beforeEach
(()
=>
{
mockDashboards
=
dashboardGitResponse
;
...
...
@@ -105,7 +105,7 @@ describe('DashboardsDropdown', () => {
describe
(
'
when the dashboard is missing a display name
'
,
()
=>
{
beforeEach
(()
=>
{
mockDashboards
=
dashboardGitResponse
.
map
(
d
=>
({
...
d
,
display_name
:
undefined
}));
mockDashboards
=
dashboardGitResponse
.
map
(
(
d
)
=>
({
...
d
,
display_name
:
undefined
}));
createComponent
();
});
...
...
spec/frontend/monitoring/components/duplicate_dashboard_form_spec.js
View file @
d4a8b730
...
...
@@ -18,11 +18,11 @@ const createMountedWrapper = (props = {}) => {
describe
(
'
DuplicateDashboardForm
'
,
()
=>
{
const
defaultBranch
=
'
master
'
;
const
findByRef
=
ref
=>
wrapper
.
find
({
ref
});
const
findByRef
=
(
ref
)
=>
wrapper
.
find
({
ref
});
const
setValue
=
(
ref
,
val
)
=>
{
findByRef
(
ref
).
setValue
(
val
);
};
const
setChecked
=
value
=>
{
const
setChecked
=
(
value
)
=>
{
const
input
=
wrapper
.
find
(
`.form-check-input[value="
${
value
}
"]`
);
input
.
element
.
checked
=
true
;
input
.
trigger
(
'
click
'
);
...
...
spec/frontend/monitoring/components/embeds/embed_group_spec.js
View file @
d4a8b730
...
...
@@ -76,7 +76,7 @@ describe('Embed Group', () => {
expect
(
wrapper
.
find
(
'
.gl-card-body
'
).
classes
()).
not
.
toContain
(
'
d-none
'
);
});
it
(
'
collapses when clicked
'
,
done
=>
{
it
(
'
collapses when clicked
'
,
(
done
)
=>
{
metricsWithDataGetter
.
mockReturnValue
([
1
]);
mountComponent
({
shallow
:
false
,
stubs
:
{
MetricEmbed
:
true
}
});
...
...
@@ -134,7 +134,7 @@ describe('Embed Group', () => {
});
it
(
'
passes the correct props to the Embed components
'
,
()
=>
{
expect
(
wrapper
.
findAll
(
MetricEmbed
).
wrappers
.
map
(
item
=>
item
.
props
())).
toEqual
(
expect
(
wrapper
.
findAll
(
MetricEmbed
).
wrappers
.
map
(
(
item
)
=>
item
.
props
())).
toEqual
(
multipleEmbedProps
(),
);
});
...
...
spec/frontend/monitoring/components/graph_group_spec.js
View file @
d4a8b730
...
...
@@ -11,7 +11,7 @@ describe('Graph group component', () => {
const
findCaretIcon
=
()
=>
wrapper
.
find
(
GlIcon
);
const
findToggleButton
=
()
=>
wrapper
.
find
(
'
[data-testid="group-toggle-button"]
'
);
const
createComponent
=
propsData
=>
{
const
createComponent
=
(
propsData
)
=>
{
wrapper
=
shallowMount
(
GraphGroup
,
{
propsData
,
});
...
...
spec/frontend/monitoring/components/group_empty_state_spec.js
View file @
d4a8b730
...
...
@@ -35,7 +35,7 @@ describe('GroupEmptyState', () => {
metricStates
.
LOADING
,
metricStates
.
UNKNOWN_ERROR
,
'
FOO STATE
'
,
// does not fail with unknown states
])(
'
given state %s
'
,
selectedState
=>
{
])(
'
given state %s
'
,
(
selectedState
)
=>
{
beforeEach
(()
=>
{
wrapper
=
createComponent
({
selectedState
});
});
...
...
spec/frontend/monitoring/components/links_section_spec.js
View file @
d4a8b730
...
...
@@ -12,7 +12,7 @@ describe('Links Section component', () => {
store
,
});
};
const
setState
=
links
=>
{
const
setState
=
(
links
)
=>
{
store
.
state
.
monitoringDashboard
=
{
...
store
.
state
.
monitoringDashboard
,
emptyState
:
null
,
...
...
spec/frontend/monitoring/components/refresh_button_spec.js
View file @
d4a8b730
...
...
@@ -17,9 +17,9 @@ describe('RefreshButton', () => {
const
findRefreshBtn
=
()
=>
wrapper
.
find
(
GlButton
);
const
findDropdown
=
()
=>
wrapper
.
find
(
GlDropdown
);
const
findOptions
=
()
=>
findDropdown
().
findAll
(
GlDropdownItem
);
const
findOptionAt
=
index
=>
findOptions
().
at
(
index
);
const
findOptionAt
=
(
index
)
=>
findOptions
().
at
(
index
);
const
expectFetchDataToHaveBeenCalledTimes
=
times
=>
{
const
expectFetchDataToHaveBeenCalledTimes
=
(
times
)
=>
{
const
refreshCalls
=
dispatch
.
mock
.
calls
.
filter
(([
action
,
payload
])
=>
{
return
action
===
'
monitoringDashboard/fetchDashboardData
'
&&
payload
===
undefined
;
});
...
...
spec/frontend/monitoring/components/variables/dropdown_field_spec.js
View file @
d4a8b730
...
...
@@ -17,7 +17,7 @@ describe('Custom variable component', () => {
},
};
const
createShallowWrapper
=
props
=>
{
const
createShallowWrapper
=
(
props
)
=>
{
wrapper
=
shallowMount
(
DropdownField
,
{
propsData
:
{
...
defaultProps
,
...
...
spec/frontend/monitoring/fixture_data.js
View file @
d4a8b730
...
...
@@ -35,7 +35,7 @@ const firstPanel = metricsDashboardViewModel.panelGroups[0].panels[0];
export
const
graphData
=
{
...
firstPanel
,
metrics
:
firstPanel
.
metrics
.
map
(
metric
=>
({
metrics
:
firstPanel
.
metrics
.
map
(
(
metric
)
=>
({
...
metric
,
result
:
metricsResult
,
state
:
metricStates
.
OK
,
...
...
@@ -44,7 +44,7 @@ export const graphData = {
export
const
graphDataEmpty
=
{
...
firstPanel
,
metrics
:
firstPanel
.
metrics
.
map
(
metric
=>
({
metrics
:
firstPanel
.
metrics
.
map
(
(
metric
)
=>
({
...
metric
,
result
:
[],
state
:
metricStates
.
NO_DATA
,
...
...
spec/frontend/monitoring/graph_data.js
View file @
d4a8b730
...
...
@@ -4,8 +4,8 @@ import { panelTypes, metricStates } from '~/monitoring/constants';
const
initTime
=
1435781450
;
// "Wed, 01 Jul 2015 20:10:50 GMT"
const
intervalSeconds
=
120
;
const
makeValue
=
val
=>
[
initTime
,
val
];
const
makeValues
=
vals
=>
vals
.
map
((
val
,
i
)
=>
[
initTime
+
intervalSeconds
*
i
,
val
]);
const
makeValue
=
(
val
)
=>
[
initTime
,
val
];
const
makeValues
=
(
vals
)
=>
vals
.
map
((
val
,
i
)
=>
[
initTime
+
intervalSeconds
*
i
,
val
]);
// Raw Promethues Responses
...
...
spec/frontend/monitoring/requests/index_spec.js
View file @
d4a8b730
...
...
@@ -31,7 +31,7 @@ describe('monitoring metrics_requests', () => {
it
(
'
returns a dashboard response
'
,
()
=>
{
mock
.
onGet
(
dashboardEndpoint
).
reply
(
statusCodes
.
OK
,
response
);
return
getDashboard
(
dashboardEndpoint
,
params
).
then
(
data
=>
{
return
getDashboard
(
dashboardEndpoint
,
params
).
then
(
(
data
)
=>
{
expect
(
data
).
toEqual
(
metricsDashboardResponse
);
});
});
...
...
@@ -41,7 +41,7 @@ describe('monitoring metrics_requests', () => {
mock
.
onGet
(
dashboardEndpoint
).
replyOnce
(
statusCodes
.
NO_CONTENT
);
mock
.
onGet
(
dashboardEndpoint
).
reply
(
statusCodes
.
OK
,
response
);
return
getDashboard
(
dashboardEndpoint
,
params
).
then
(
data
=>
{
return
getDashboard
(
dashboardEndpoint
,
params
).
then
(
(
data
)
=>
{
expect
(
data
).
toEqual
(
metricsDashboardResponse
);
expect
(
mock
.
history
.
get
).
toHaveLength
(
3
);
});
...
...
@@ -50,7 +50,7 @@ describe('monitoring metrics_requests', () => {
it
(
'
rejects after getting an error
'
,
()
=>
{
mock
.
onGet
(
dashboardEndpoint
).
reply
(
500
);
return
getDashboard
(
dashboardEndpoint
,
params
).
catch
(
error
=>
{
return
getDashboard
(
dashboardEndpoint
,
params
).
catch
(
(
error
)
=>
{
expect
(
error
).
toEqual
(
expect
.
any
(
Error
));
expect
(
mock
.
history
.
get
).
toHaveLength
(
1
);
});
...
...
@@ -74,7 +74,7 @@ describe('monitoring metrics_requests', () => {
it
(
'
returns a dashboard response
'
,
()
=>
{
mock
.
onGet
(
prometheusEndpoint
).
reply
(
statusCodes
.
OK
,
response
);
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
then
(
data
=>
{
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
then
(
(
data
)
=>
{
expect
(
data
).
toEqual
(
response
.
data
);
});
});
...
...
@@ -85,7 +85,7 @@ describe('monitoring metrics_requests', () => {
mock
.
onGet
(
prometheusEndpoint
).
replyOnce
(
statusCodes
.
NO_CONTENT
);
mock
.
onGet
(
prometheusEndpoint
).
reply
(
statusCodes
.
OK
,
response
);
// 3rd attempt
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
then
(
data
=>
{
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
then
(
(
data
)
=>
{
expect
(
data
).
toEqual
(
response
.
data
);
expect
(
mock
.
history
.
get
).
toHaveLength
(
3
);
});
...
...
@@ -97,7 +97,7 @@ describe('monitoring metrics_requests', () => {
error
:
'
An error ocurred
'
,
});
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
catch
(
error
=>
{
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
catch
(
(
error
)
=>
{
expect
(
error
).
toEqual
(
new
Error
(
'
Request failed with status code 500
'
));
});
});
...
...
@@ -109,7 +109,7 @@ describe('monitoring metrics_requests', () => {
error
:
'
An error ocurred
'
,
});
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
catch
(
error
=>
{
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
catch
(
(
error
)
=>
{
expect
(
error
).
toEqual
(
new
Error
(
'
Request failed with status code 401
'
));
});
});
...
...
@@ -123,7 +123,7 @@ describe('monitoring metrics_requests', () => {
error
:
'
An error ocurred
'
,
});
// 3rd attempt
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
catch
(
error
=>
{
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
catch
(
(
error
)
=>
{
expect
(
error
).
toEqual
(
new
Error
(
'
Request failed with status code 500
'
));
expect
(
mock
.
history
.
get
).
toHaveLength
(
3
);
});
...
...
@@ -140,7 +140,7 @@ describe('monitoring metrics_requests', () => {
error
:
reason
,
});
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
catch
(
error
=>
{
return
getPrometheusQueryData
(
prometheusEndpoint
,
params
).
catch
(
(
error
)
=>
{
expect
(
error
).
toEqual
(
new
Error
(
reason
));
expect
(
mock
.
history
.
get
).
toHaveLength
(
1
);
});
...
...
spec/frontend/monitoring/store/actions_spec.js
View file @
d4a8b730
...
...
@@ -88,7 +88,7 @@ describe('Monitoring store actions', () => {
// Setup
describe
(
'
setGettingStartedEmptyState
'
,
()
=>
{
it
(
'
should commit SET_GETTING_STARTED_EMPTY_STATE mutation
'
,
done
=>
{
it
(
'
should commit SET_GETTING_STARTED_EMPTY_STATE mutation
'
,
(
done
)
=>
{
testAction
(
setGettingStartedEmptyState
,
null
,
...
...
@@ -105,7 +105,7 @@ describe('Monitoring store actions', () => {
});
describe
(
'
setInitialState
'
,
()
=>
{
it
(
'
should commit SET_INITIAL_STATE mutation
'
,
done
=>
{
it
(
'
should commit SET_INITIAL_STATE mutation
'
,
(
done
)
=>
{
testAction
(
setInitialState
,
{
...
...
@@ -233,7 +233,7 @@ describe('Monitoring store actions', () => {
};
});
it
(
'
dispatches a failure
'
,
done
=>
{
it
(
'
dispatches a failure
'
,
(
done
)
=>
{
result
()
.
then
(()
=>
{
expect
(
commit
).
toHaveBeenCalledWith
(
...
...
@@ -250,7 +250,7 @@ describe('Monitoring store actions', () => {
.
catch
(
done
.
fail
);
});
it
(
'
dispatches a failure action when a message is returned
'
,
done
=>
{
it
(
'
dispatches a failure action when a message is returned
'
,
(
done
)
=>
{
result
()
.
then
(()
=>
{
expect
(
dispatch
).
toHaveBeenCalledWith
(
...
...
@@ -265,7 +265,7 @@ describe('Monitoring store actions', () => {
.
catch
(
done
.
fail
);
});
it
(
'
does not show a flash error when showErrorBanner is disabled
'
,
done
=>
{
it
(
'
does not show a flash error when showErrorBanner is disabled
'
,
(
done
)
=>
{
state
.
showErrorBanner
=
false
;
result
()
...
...
@@ -322,7 +322,7 @@ describe('Monitoring store actions', () => {
state
.
timeRange
=
defaultTimeRange
;
});
it
(
'
commits empty state when state.groups is empty
'
,
done
=>
{
it
(
'
commits empty state when state.groups is empty
'
,
(
done
)
=>
{
const
localGetters
=
{
metricsWithData
:
()
=>
[],
};
...
...
@@ -353,7 +353,7 @@ describe('Monitoring store actions', () => {
.
catch
(
done
.
fail
);
});
it
(
'
dispatches fetchPrometheusMetric for each panel query
'
,
done
=>
{
it
(
'
dispatches fetchPrometheusMetric for each panel query
'
,
(
done
)
=>
{
state
.
dashboard
.
panelGroups
=
convertObjectPropsToCamelCase
(
metricsDashboardResponse
.
dashboard
.
panel_groups
,
);
...
...
@@ -390,7 +390,7 @@ describe('Monitoring store actions', () => {
done
();
});
it
(
'
dispatches fetchPrometheusMetric for each panel query, handles an error
'
,
done
=>
{
it
(
'
dispatches fetchPrometheusMetric for each panel query, handles an error
'
,
(
done
)
=>
{
state
.
dashboard
.
panelGroups
=
metricsDashboardViewModel
.
panelGroups
;
const
metric
=
state
.
dashboard
.
panelGroups
[
0
].
panels
[
0
].
metrics
[
0
];
...
...
@@ -449,7 +449,7 @@ describe('Monitoring store actions', () => {
};
});
it
(
'
commits result
'
,
done
=>
{
it
(
'
commits result
'
,
(
done
)
=>
{
mock
.
onGet
(
prometheusEndpointPath
).
reply
(
200
,
{
data
});
// One attempt
testAction
(
...
...
@@ -485,7 +485,7 @@ describe('Monitoring store actions', () => {
step
:
60
,
};
it
(
'
uses calculated step
'
,
done
=>
{
it
(
'
uses calculated step
'
,
(
done
)
=>
{
mock
.
onGet
(
prometheusEndpointPath
).
reply
(
200
,
{
data
});
// One attempt
testAction
(
...
...
@@ -527,7 +527,7 @@ describe('Monitoring store actions', () => {
step
:
7
,
};
it
(
'
uses metric step
'
,
done
=>
{
it
(
'
uses metric step
'
,
(
done
)
=>
{
mock
.
onGet
(
prometheusEndpointPath
).
reply
(
200
,
{
data
});
// One attempt
testAction
(
...
...
@@ -558,7 +558,7 @@ describe('Monitoring store actions', () => {
});
});
it
(
'
commits failure, when waiting for results and getting a server error
'
,
done
=>
{
it
(
'
commits failure, when waiting for results and getting a server error
'
,
(
done
)
=>
{
mock
.
onGet
(
prometheusEndpointPath
).
reply
(
500
);
const
error
=
new
Error
(
'
Request failed with status code 500
'
);
...
...
@@ -583,7 +583,7 @@ describe('Monitoring store actions', () => {
},
],
[],
).
catch
(
e
=>
{
).
catch
(
(
e
)
=>
{
expect
(
e
).
toEqual
(
error
);
done
();
});
...
...
@@ -991,7 +991,7 @@ describe('Monitoring store actions', () => {
state
.
dashboardsEndpoint
=
'
/dashboards.json
'
;
});
it
(
'
Succesful POST request resolves
'
,
done
=>
{
it
(
'
Succesful POST request resolves
'
,
(
done
)
=>
{
mock
.
onPost
(
state
.
dashboardsEndpoint
).
reply
(
statusCodes
.
CREATED
,
{
dashboard
:
dashboardGitResponse
[
1
],
});
...
...
@@ -1004,7 +1004,7 @@ describe('Monitoring store actions', () => {
.
catch
(
done
.
fail
);
});
it
(
'
Succesful POST request resolves to a dashboard
'
,
done
=>
{
it
(
'
Succesful POST request resolves to a dashboard
'
,
(
done
)
=>
{
const
mockCreatedDashboard
=
dashboardGitResponse
[
1
];
const
params
=
{
...
...
@@ -1026,7 +1026,7 @@ describe('Monitoring store actions', () => {
});
testAction
(
duplicateSystemDashboard
,
params
,
state
,
[],
[])
.
then
(
result
=>
{
.
then
(
(
result
)
=>
{
expect
(
mock
.
history
.
post
).
toHaveLength
(
1
);
expect
(
mock
.
history
.
post
[
0
].
data
).
toEqual
(
expectedPayload
);
expect
(
result
).
toEqual
(
mockCreatedDashboard
);
...
...
@@ -1036,10 +1036,10 @@ describe('Monitoring store actions', () => {
.
catch
(
done
.
fail
);
});
it
(
'
Failed POST request throws an error
'
,
done
=>
{
it
(
'
Failed POST request throws an error
'
,
(
done
)
=>
{
mock
.
onPost
(
state
.
dashboardsEndpoint
).
reply
(
statusCodes
.
BAD_REQUEST
);
testAction
(
duplicateSystemDashboard
,
{},
state
,
[],
[]).
catch
(
err
=>
{
testAction
(
duplicateSystemDashboard
,
{},
state
,
[],
[]).
catch
(
(
err
)
=>
{
expect
(
mock
.
history
.
post
).
toHaveLength
(
1
);
expect
(
err
).
toEqual
(
expect
.
any
(
String
));
...
...
@@ -1047,14 +1047,14 @@ describe('Monitoring store actions', () => {
});
});
it
(
'
Failed POST request throws an error with a description
'
,
done
=>
{
it
(
'
Failed POST request throws an error with a description
'
,
(
done
)
=>
{
const
backendErrorMsg
=
'
This file already exists!
'
;
mock
.
onPost
(
state
.
dashboardsEndpoint
).
reply
(
statusCodes
.
BAD_REQUEST
,
{
error
:
backendErrorMsg
,
});
testAction
(
duplicateSystemDashboard
,
{},
state
,
[],
[]).
catch
(
err
=>
{
testAction
(
duplicateSystemDashboard
,
{},
state
,
[],
[]).
catch
(
(
err
)
=>
{
expect
(
mock
.
history
.
post
).
toHaveLength
(
1
);
expect
(
err
).
toEqual
(
expect
.
any
(
String
));
expect
(
err
).
toEqual
(
expect
.
stringContaining
(
backendErrorMsg
));
...
...
@@ -1067,7 +1067,7 @@ describe('Monitoring store actions', () => {
// Variables manipulation
describe
(
'
updateVariablesAndFetchData
'
,
()
=>
{
it
(
'
should commit UPDATE_VARIABLE_VALUE mutation and fetch data
'
,
done
=>
{
it
(
'
should commit UPDATE_VARIABLE_VALUE mutation and fetch data
'
,
(
done
)
=>
{
testAction
(
updateVariablesAndFetchData
,
{
pod
:
'
POD
'
},
...
...
spec/frontend/monitoring/store/getters_spec.js
View file @
d4a8b730
...
...
@@ -365,7 +365,7 @@ describe('Monitoring store Getters', () => {
describe
(
'
selectedDashboard
'
,
()
=>
{
const
{
selectedDashboard
}
=
getters
;
const
localGetters
=
localState
=>
({
const
localGetters
=
(
localState
)
=>
({
fullDashboardPath
:
getters
.
fullDashboardPath
(
localState
),
});
...
...
spec/frontend/monitoring/store/mutations_spec.js
View file @
d4a8b730
...
...
@@ -512,7 +512,7 @@ describe('Monitoring mutations', () => {
});
describe
(
'
panel preview metric
'
,
()
=>
{
const
getPreviewMetricAt
=
i
=>
stateCopy
.
panelPreviewGraphData
.
metrics
[
i
];
const
getPreviewMetricAt
=
(
i
)
=>
stateCopy
.
panelPreviewGraphData
.
metrics
[
i
];
beforeEach
(()
=>
{
stateCopy
.
panelPreviewGraphData
=
{
...
...
spec/frontend/monitoring/store/utils_spec.js
View file @
d4a8b730
...
...
@@ -127,7 +127,7 @@ describe('mapToDashboardViewModel', () => {
let
dashboard
;
const
setupWithPanel
=
panel
=>
{
const
setupWithPanel
=
(
panel
)
=>
{
dashboard
=
{
panel_groups
:
[
{
...
...
@@ -340,7 +340,7 @@ describe('mapToDashboardViewModel', () => {
],
});
const
getMappedMetric
=
dashboard
=>
{
const
getMappedMetric
=
(
dashboard
)
=>
{
return
mapToDashboardViewModel
(
dashboard
).
panelGroups
[
0
].
panels
[
0
].
metrics
[
0
];
};
...
...
spec/frontend/monitoring/store_utils.js
View file @
d4a8b730
...
...
@@ -15,7 +15,7 @@ export const setMetricResult = ({ store, result, group = 0, panel = 0, metric =
});
};
const
setEnvironmentData
=
store
=>
{
const
setEnvironmentData
=
(
store
)
=>
{
store
.
commit
(
`monitoringDashboard/
${
types
.
RECEIVE_ENVIRONMENTS_DATA_SUCCESS
}
`
,
environmentData
);
};
...
...
@@ -28,14 +28,14 @@ export const setupAllDashboards = (store, path) => {
}
};
export
const
setupStoreWithDashboard
=
store
=>
{
export
const
setupStoreWithDashboard
=
(
store
)
=>
{
store
.
commit
(
`monitoringDashboard/
${
types
.
RECEIVE_METRICS_DASHBOARD_SUCCESS
}
`
,
metricsDashboardPayload
,
);
};
export
const
setupStoreWithLinks
=
store
=>
{
export
const
setupStoreWithLinks
=
(
store
)
=>
{
store
.
commit
(
`monitoringDashboard/
${
types
.
RECEIVE_METRICS_DASHBOARD_SUCCESS
}
`
,
{
...
metricsDashboardPayload
,
links
:
[
...
...
@@ -47,7 +47,7 @@ export const setupStoreWithLinks = store => {
});
};
export
const
setupStoreWithData
=
store
=>
{
export
const
setupStoreWithData
=
(
store
)
=>
{
setupAllDashboards
(
store
);
setupStoreWithDashboard
(
store
);
...
...
spec/frontend/monitoring/utils_spec.js
View file @
d4a8b730
...
...
@@ -295,7 +295,7 @@ describe('monitoring/utils', () => {
${
'
NOT_A_GROUP
'
}
|
${
title
}
|
${
yLabel
}
|
${
'
group
'
}
${
group
}
|
${
'
NOT_A_TITLE
'
}
|
${
yLabel
}
|
${
'
title
'
}
${
group
}
|
${
title
}
|
${
'
NOT_A_Y_LABEL
'
}
|
${
'
y_label
'
}
`
(
'
throws an error when $missingField is incorrect
'
,
params
=>
{
`
(
'
throws an error when $missingField is incorrect
'
,
(
params
)
=>
{
const
search
=
`?group=
${
params
.
group
}
&title=
${
params
.
title
}
&y_label=
${
params
.
yLabel
}
`
;
expect
(()
=>
expandedPanelPayloadFromUrl
(
metricsDashboardViewModel
,
search
)).
toThrow
();
});
...
...
@@ -308,7 +308,7 @@ describe('monitoring/utils', () => {
const
[
panelGroup
]
=
metricsDashboardViewModel
.
panelGroups
;
const
[
panel
]
=
panelGroup
.
panels
;
const
getUrlParams
=
url
=>
urlUtils
.
queryToObject
(
url
.
split
(
'
?
'
)[
1
]);
const
getUrlParams
=
(
url
)
=>
urlUtils
.
queryToObject
(
url
.
split
(
'
?
'
)[
1
]);
it
(
'
returns URL for a panel when query parameters are given
'
,
()
=>
{
const
params
=
getUrlParams
(
panelToUrl
(
dashboard
,
{},
panelGroup
.
group
,
panel
));
...
...
spec/frontend/new_branch_spec.js
View file @
d4a8b730
...
...
@@ -21,7 +21,7 @@ describe('Branch', () => {
beforeEach
(()
=>
{
loadFixtures
(
'
branches/new_branch.html
'
);
$
(
'
form
'
).
on
(
'
submit
'
,
e
=>
e
.
preventDefault
());
$
(
'
form
'
).
on
(
'
submit
'
,
(
e
)
=>
e
.
preventDefault
());
testContext
.
form
=
new
NewBranchForm
(
$
(
'
.js-create-branch-form
'
),
[]);
});
...
...
spec/frontend/notebook/cells/code_spec.js
View file @
d4a8b730
...
...
@@ -11,7 +11,7 @@ describe('Code component', () => {
json
=
getJSONFixture
(
'
blob/notebook/basic.json
'
);
});
const
setupComponent
=
cell
=>
{
const
setupComponent
=
(
cell
)
=>
{
const
comp
=
new
Component
({
propsData
:
{
cell
,
...
...
@@ -22,7 +22,7 @@ describe('Code component', () => {
};
describe
(
'
without output
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
vm
=
setupComponent
(
json
.
cells
[
0
]);
setImmediate
(()
=>
{
...
...
@@ -36,7 +36,7 @@ describe('Code component', () => {
});
describe
(
'
with output
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
vm
=
setupComponent
(
json
.
cells
[
2
]);
setImmediate
(()
=>
{
...
...
spec/frontend/notebook/cells/output/index_spec.js
View file @
d4a8b730
...
...
@@ -7,7 +7,7 @@ describe('Output component', () => {
let
vm
;
let
json
;
const
createComponent
=
output
=>
{
const
createComponent
=
(
output
)
=>
{
vm
=
new
Component
({
propsData
:
{
outputs
:
[].
concat
(
output
),
...
...
@@ -22,7 +22,7 @@ describe('Output component', () => {
});
describe
(
'
text output
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
createComponent
(
json
.
cells
[
2
].
outputs
[
0
]);
setImmediate
(()
=>
{
...
...
@@ -40,7 +40,7 @@ describe('Output component', () => {
});
describe
(
'
image output
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
createComponent
(
json
.
cells
[
3
].
outputs
[
0
]);
setImmediate
(()
=>
{
...
...
@@ -70,7 +70,7 @@ describe('Output component', () => {
});
describe
(
'
svg output
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
createComponent
(
json
.
cells
[
5
].
outputs
[
0
]);
setImmediate
(()
=>
{
...
...
@@ -84,7 +84,7 @@ describe('Output component', () => {
});
describe
(
'
default to plain text
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
createComponent
(
json
.
cells
[
6
].
outputs
[
0
]);
setImmediate
(()
=>
{
...
...
@@ -101,7 +101,7 @@ describe('Output component', () => {
expect
(
vm
.
$el
.
querySelector
(
'
.prompt span
'
)).
not
.
toBeNull
();
});
it
(
"
renders as plain text when doesn't recognise other types
"
,
done
=>
{
it
(
"
renders as plain text when doesn't recognise other types
"
,
(
done
)
=>
{
createComponent
(
json
.
cells
[
7
].
outputs
[
0
]);
setImmediate
(()
=>
{
...
...
spec/frontend/notebook/cells/prompt_spec.js
View file @
d4a8b730
...
...
@@ -7,7 +7,7 @@ describe('Prompt component', () => {
let
vm
;
describe
(
'
input
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
vm
=
new
Component
({
propsData
:
{
type
:
'
In
'
,
...
...
@@ -31,7 +31,7 @@ describe('Prompt component', () => {
});
describe
(
'
output
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
vm
=
new
Component
({
propsData
:
{
type
:
'
Out
'
,
...
...
spec/frontend/notebook/index_spec.js
View file @
d4a8b730
...
...
@@ -14,7 +14,7 @@ describe('Notebook component', () => {
});
describe
(
'
without JSON
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
vm
=
new
Component
({
propsData
:
{
notebook
:
{},
...
...
@@ -33,7 +33,7 @@ describe('Notebook component', () => {
});
describe
(
'
with JSON
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
vm
=
new
Component
({
propsData
:
{
notebook
:
json
,
...
...
@@ -65,7 +65,7 @@ describe('Notebook component', () => {
});
describe
(
'
with worksheets
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
vm
=
new
Component
({
propsData
:
{
notebook
:
jsonWithWorksheet
,
...
...
spec/frontend/notes/components/diff_discussion_header_spec.js
View file @
d4a8b730
...
...
@@ -45,7 +45,7 @@ describe('diff_discussion_header component', () => {
const
truncatedCommitId
=
commitId
.
substr
(
0
,
8
);
let
commitElement
;
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
store
.
state
.
diffs
=
{
projectPath
:
'
something
'
,
};
...
...
@@ -72,7 +72,7 @@ describe('diff_discussion_header component', () => {
});
describe
(
'
for diff threads without a commit id
'
,
()
=>
{
it
(
'
should show started a thread on the diff text
'
,
done
=>
{
it
(
'
should show started a thread on the diff text
'
,
(
done
)
=>
{
Object
.
assign
(
wrapper
.
vm
.
discussion
,
{
for_commit
:
false
,
commit_id
:
null
,
...
...
@@ -85,7 +85,7 @@ describe('diff_discussion_header component', () => {
});
});
it
(
'
should show thread on older version text
'
,
done
=>
{
it
(
'
should show thread on older version text
'
,
(
done
)
=>
{
Object
.
assign
(
wrapper
.
vm
.
discussion
,
{
for_commit
:
false
,
commit_id
:
null
,
...
...
@@ -109,7 +109,7 @@ describe('diff_discussion_header component', () => {
});
describe
(
'
for diff thread with a commit id
'
,
()
=>
{
it
(
'
should display started thread on commit header
'
,
done
=>
{
it
(
'
should display started thread on commit header
'
,
(
done
)
=>
{
wrapper
.
vm
.
discussion
.
for_commit
=
false
;
wrapper
.
vm
.
$nextTick
(()
=>
{
...
...
@@ -121,7 +121,7 @@ describe('diff_discussion_header component', () => {
});
});
it
(
'
should display outdated change on commit header
'
,
done
=>
{
it
(
'
should display outdated change on commit header
'
,
(
done
)
=>
{
wrapper
.
vm
.
discussion
.
for_commit
=
false
;
wrapper
.
vm
.
discussion
.
active
=
false
;
...
...
spec/frontend/notes/components/discussion_counter_spec.js
View file @
d4a8b730
...
...
@@ -95,7 +95,7 @@ describe('DiscussionCounter component', () => {
describe
(
'
toggle all threads button
'
,
()
=>
{
let
toggleAllButton
;
const
updateStoreWithExpanded
=
expanded
=>
{
const
updateStoreWithExpanded
=
(
expanded
)
=>
{
const
discussion
=
{
...
discussionMock
,
expanded
};
store
.
commit
(
types
.
SET_INITIAL_DISCUSSIONS
,
[
discussion
]);
store
.
dispatch
(
'
updateResolvableDiscussionsCounts
'
);
...
...
spec/frontend/notes/components/discussion_notes_spec.js
View file @
d4a8b730
...
...
@@ -122,12 +122,12 @@ describe('DiscussionNotes', () => {
describe
(
'
events
'
,
()
=>
{
describe
(
'
with groupped notes and replies expanded
'
,
()
=>
{
const
findNoteAtIndex
=
index
=>
{
const
findNoteAtIndex
=
(
index
)
=>
{
const
noteComponents
=
[
NoteableNote
,
SystemNote
,
PlaceholderNote
,
PlaceholderSystemNote
];
const
allowedNames
=
noteComponents
.
map
(
c
=>
c
.
name
);
const
allowedNames
=
noteComponents
.
map
(
(
c
)
=>
c
.
name
);
return
wrapper
.
findAll
(
'
.notes *
'
)
.
filter
(
w
=>
allowedNames
.
includes
(
w
.
name
()))
.
filter
(
(
w
)
=>
allowedNames
.
includes
(
w
.
name
()))
.
at
(
index
);
};
...
...
spec/frontend/notes/components/discussion_resolve_button_spec.js
View file @
d4a8b730
...
...
@@ -7,7 +7,7 @@ const buttonTitle = 'Resolve discussion';
describe
(
'
resolveDiscussionButton
'
,
()
=>
{
let
wrapper
;
const
factory
=
options
=>
{
const
factory
=
(
options
)
=>
{
wrapper
=
shallowMount
(
resolveDiscussionButton
,
{
...
options
,
});
...
...
spec/frontend/notes/components/multiline_comment_utils_spec.js
View file @
d4a8b730
...
...
@@ -7,7 +7,7 @@ import {
describe
(
'
Multiline comment utilities
'
,
()
=>
{
describe
(
'
get start & end line numbers
'
,
()
=>
{
const
lineRanges
=
[
'
old
'
,
'
new
'
,
null
].
map
(
type
=>
({
const
lineRanges
=
[
'
old
'
,
'
new
'
,
null
].
map
(
(
type
)
=>
({
start
:
{
new_line
:
1
,
old_line
:
1
,
type
},
end
:
{
new_line
:
2
,
old_line
:
2
,
type
},
}));
...
...
@@ -35,7 +35,7 @@ describe('Multiline comment utilities', () => {
});
});
const
inlineDiffLines
=
[{
line_code
:
'
1
'
},
{
line_code
:
'
2
'
},
{
line_code
:
'
3
'
}];
const
parallelDiffLines
=
inlineDiffLines
.
map
(
line
=>
({
const
parallelDiffLines
=
inlineDiffLines
.
map
(
(
line
)
=>
({
left
:
{
...
line
},
right
:
{
...
line
},
}));
...
...
spec/frontend/notes/components/note_actions_spec.js
View file @
d4a8b730
...
...
@@ -101,7 +101,7 @@ describe('noteActions', () => {
expect
(
wrapper
.
find
(
'
.js-btn-copy-note-link
'
).
exists
()).
toBe
(
true
);
});
it
(
'
should not show copy link action when `noteUrl` prop is empty
'
,
done
=>
{
it
(
'
should not show copy link action when `noteUrl` prop is empty
'
,
(
done
)
=>
{
wrapper
.
setProps
({
...
props
,
author
:
{
...
...
@@ -127,7 +127,7 @@ describe('noteActions', () => {
expect
(
wrapper
.
find
(
'
.js-note-delete
'
).
exists
()).
toBe
(
true
);
});
it
(
'
closes tooltip when dropdown opens
'
,
done
=>
{
it
(
'
closes tooltip when dropdown opens
'
,
(
done
)
=>
{
wrapper
.
find
(
'
.more-actions-toggle
'
).
trigger
(
'
click
'
);
const
rootWrapper
=
createWrapper
(
wrapper
.
vm
.
$root
);
...
...
spec/frontend/notes/components/note_attachment_spec.js
View file @
d4a8b730
...
...
@@ -7,7 +7,7 @@ describe('Issue note attachment', () => {
const
findImage
=
()
=>
wrapper
.
find
({
ref
:
'
attachmentImage
'
});
const
findUrl
=
()
=>
wrapper
.
find
({
ref
:
'
attachmentUrl
'
});
const
createComponent
=
attachment
=>
{
const
createComponent
=
(
attachment
)
=>
{
wrapper
=
shallowMount
(
NoteAttachment
,
{
propsData
:
{
attachment
,
...
...
spec/frontend/notes/components/note_awards_list_spec.js
View file @
d4a8b730
...
...
@@ -106,7 +106,7 @@ describe('note_awards_list component', () => {
awardsMock
=
[...
new
Array
(
1
)].
map
(
createAwardEmoji
);
mountComponent
();
awardsMock
.
forEach
(
award
=>
{
awardsMock
.
forEach
(
(
award
)
=>
{
expect
(
findTooltip
()).
toContain
(
award
.
user
.
name
);
});
});
...
...
@@ -115,7 +115,7 @@ describe('note_awards_list component', () => {
awardsMock
=
[...
new
Array
(
2
)].
map
(
createAwardEmoji
);
mountComponent
();
awardsMock
.
forEach
(
award
=>
{
awardsMock
.
forEach
(
(
award
)
=>
{
expect
(
findTooltip
()).
toContain
(
award
.
user
.
name
);
});
});
...
...
@@ -125,7 +125,7 @@ describe('note_awards_list component', () => {
mountComponent
();
// Testing only the first 10 awards since 11 onward will not be displayed.
awardsMock
.
slice
(
0
,
10
).
forEach
(
award
=>
{
awardsMock
.
slice
(
0
,
10
).
forEach
(
(
award
)
=>
{
expect
(
findTooltip
()).
toContain
(
award
.
user
.
name
);
});
});
...
...
spec/frontend/notes/components/note_body_spec.js
View file @
d4a8b730
...
...
@@ -38,7 +38,7 @@ describe('issue_note_body component', () => {
});
describe
(
'
isEditing
'
,
()
=>
{
beforeEach
(
done
=>
{
beforeEach
(
(
done
)
=>
{
vm
.
isEditing
=
true
;
Vue
.
nextTick
(
done
);
});
...
...
spec/frontend/notes/components/note_form_spec.js
View file @
d4a8b730
...
...
@@ -28,7 +28,7 @@ describe('issue_note_form component', () => {
};
beforeEach
(()
=>
{
getDraft
.
mockImplementation
(
key
=>
{
getDraft
.
mockImplementation
(
(
key
)
=>
{
if
(
key
===
dummyAutosaveKey
)
{
return
dummyDraft
;
}
...
...
@@ -294,7 +294,7 @@ describe('issue_note_form component', () => {
discussion
:
{
...
discussionMock
,
notes
:
[
...
discussionMock
.
notes
.
map
(
n
=>
({
...
discussionMock
.
notes
.
map
(
(
n
)
=>
({
...
n
,
resolvable
:
true
,
current_user
:
{
...
n
.
current_user
,
can_resolve_discussion
:
false
},
...
...
spec/frontend/notes/components/note_header_spec.js
View file @
d4a8b730
...
...
@@ -41,7 +41,7 @@ describe('NoteHeader component', () => {
},
};
const
createComponent
=
props
=>
{
const
createComponent
=
(
props
)
=>
{
wrapper
=
shallowMount
(
NoteHeader
,
{
localVue
,
store
:
new
Vuex
.
Store
({
...
...
@@ -252,7 +252,7 @@ describe('NoteHeader component', () => {
});
describe
(
'
when author username link is hovered
'
,
()
=>
{
it
(
'
toggles hover specific CSS classes on author name link
'
,
done
=>
{
it
(
'
toggles hover specific CSS classes on author name link
'
,
(
done
)
=>
{
createComponent
({
author
});
const
authorUsernameLink
=
wrapper
.
find
({
ref
:
'
authorUsernameLink
'
});
...
...
spec/frontend/notes/components/noteable_discussion_spec.js
View file @
d4a8b730
...
...
@@ -132,7 +132,7 @@ describe('noteable_discussion component', () => {
...
getJSONFixture
(
discussionWithTwoUnresolvedNotes
)[
0
],
expanded
:
true
,
};
discussion
.
notes
=
discussion
.
notes
.
map
(
note
=>
({
discussion
.
notes
=
discussion
.
notes
.
map
(
(
note
)
=>
({
...
note
,
resolved
:
false
,
current_user
:
{
...
...
spec/frontend/notes/components/noteable_note_spec.js
View file @
d4a8b730
...
...
@@ -208,7 +208,7 @@ describe('issue_note', () => {
expect
(
noteBodyProps
.
helpPagePath
).
toBe
(
''
);
});
it
(
'
prevents note preview xss
'
,
done
=>
{
it
(
'
prevents note preview xss
'
,
(
done
)
=>
{
const
imgSrc
=
'
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
'
;
const
noteBody
=
`<img src="
${
imgSrc
}
" onload="alert(1)" />`
;
const
alertSpy
=
jest
.
spyOn
(
window
,
'
alert
'
);
...
...
@@ -230,7 +230,7 @@ describe('issue_note', () => {
});
describe
(
'
cancel edit
'
,
()
=>
{
it
(
'
restores content of updated note
'
,
done
=>
{
it
(
'
restores content of updated note
'
,
(
done
)
=>
{
const
updatedText
=
'
updated note text
'
;
store
.
hotUpdate
({
actions
:
{
...
...
spec/frontend/notes/components/notes_app_spec.js
View file @
d4a8b730
...
...
@@ -36,16 +36,16 @@ describe('note_app', () => {
const
getComponentOrder
=
()
=>
{
return
wrapper
.
findAll
(
'
#notes-list,.js-comment-form
'
)
.
wrappers
.
map
(
node
=>
(
node
.
is
(
CommentForm
)
?
TYPE_COMMENT_FORM
:
TYPE_NOTES_LIST
));
.
wrappers
.
map
(
(
node
)
=>
(
node
.
is
(
CommentForm
)
?
TYPE_COMMENT_FORM
:
TYPE_NOTES_LIST
));
};
/**
* waits for fetchNotes() to complete
*/
const
waitForDiscussionsRequest
=
()
=>
new
Promise
(
resolve
=>
{
new
Promise
(
(
resolve
)
=>
{
const
{
vm
}
=
wrapper
.
find
(
NotesApp
);
const
unwatch
=
vm
.
$watch
(
'
isFetching
'
,
isFetching
=>
{
const
unwatch
=
vm
.
$watch
(
'
isFetching
'
,
(
isFetching
)
=>
{
if
(
isFetching
)
{
return
;
}
...
...
spec/frontend/notes/components/toggle_replies_widget_spec.js
View file @
d4a8b730
...
...
@@ -3,7 +3,7 @@ import mountComponent from 'helpers/vue_mount_component_helper';
import
toggleRepliesWidget
from
'
~/notes/components/toggle_replies_widget.vue
'
;
import
{
note
}
from
'
../mock_data
'
;
const
deepCloneObject
=
obj
=>
JSON
.
parse
(
JSON
.
stringify
(
obj
));
const
deepCloneObject
=
(
obj
)
=>
JSON
.
parse
(
JSON
.
stringify
(
obj
));
describe
(
'
toggle replies widget for notes
'
,
()
=>
{
let
vm
;
...
...
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