Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-07-10 18:09:07 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-07-10 18:09:07 +0300
commit1782886ed24fbe9b70cea5b0593fbae74da9dd30 (patch)
treeb68faa75f50512585977fa5046b486581d57ebcd /spec/frontend/alert_management
parent60a52d9829a3096dbeb78558081d95761abe1801 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/alert_management')
-rw-r--r--spec/frontend/alert_management/components/alert_management_empty_state_spec.js38
-rw-r--r--spec/frontend/alert_management/components/alert_management_list_wrapper_spec.js57
-rw-r--r--spec/frontend/alert_management/components/alert_management_table_spec.js (renamed from spec/frontend/alert_management/components/alert_management_list_spec.js)28
3 files changed, 100 insertions, 23 deletions
diff --git a/spec/frontend/alert_management/components/alert_management_empty_state_spec.js b/spec/frontend/alert_management/components/alert_management_empty_state_spec.js
new file mode 100644
index 00000000000..09ff552b667
--- /dev/null
+++ b/spec/frontend/alert_management/components/alert_management_empty_state_spec.js
@@ -0,0 +1,38 @@
+import { shallowMount } from '@vue/test-utils';
+import { GlEmptyState } from '@gitlab/ui';
+import AlertManagementEmptyState from '~/alert_management/components/alert_management_empty_state.vue';
+
+describe('AlertManagementEmptyState', () => {
+ let wrapper;
+
+ function mountComponent({
+ props = {
+ alertManagementEnabled: false,
+ userCanEnableAlertManagement: false,
+ },
+ } = {}) {
+ wrapper = shallowMount(AlertManagementEmptyState, {
+ propsData: {
+ enableAlertManagementPath: '/link',
+ emptyAlertSvgPath: 'illustration/path',
+ ...props,
+ },
+ });
+ }
+
+ beforeEach(() => {
+ mountComponent();
+ });
+
+ afterEach(() => {
+ if (wrapper) {
+ wrapper.destroy();
+ }
+ });
+
+ describe('Empty state', () => {
+ it('shows empty state', () => {
+ expect(wrapper.find(GlEmptyState).exists()).toBe(true);
+ });
+ });
+});
diff --git a/spec/frontend/alert_management/components/alert_management_list_wrapper_spec.js b/spec/frontend/alert_management/components/alert_management_list_wrapper_spec.js
new file mode 100644
index 00000000000..4644406c037
--- /dev/null
+++ b/spec/frontend/alert_management/components/alert_management_list_wrapper_spec.js
@@ -0,0 +1,57 @@
+import { shallowMount } from '@vue/test-utils';
+import AlertManagementList from '~/alert_management/components/alert_management_list_wrapper.vue';
+import { trackAlertListViewsOptions } from '~/alert_management/constants';
+import mockAlerts from '../mocks/alerts.json';
+import Tracking from '~/tracking';
+
+describe('AlertManagementList', () => {
+ let wrapper;
+
+ function mountComponent({
+ props = {
+ alertManagementEnabled: false,
+ userCanEnableAlertManagement: false,
+ },
+ data = {},
+ stubs = {},
+ } = {}) {
+ wrapper = shallowMount(AlertManagementList, {
+ propsData: {
+ projectPath: 'gitlab-org/gitlab',
+ enableAlertManagementPath: '/link',
+ populatingAlertsHelpUrl: '/help/help-page.md#populating-alert-data',
+ emptyAlertSvgPath: 'illustration/path',
+ ...props,
+ },
+ data() {
+ return data;
+ },
+ stubs,
+ });
+ }
+
+ beforeEach(() => {
+ mountComponent();
+ });
+
+ afterEach(() => {
+ if (wrapper) {
+ wrapper.destroy();
+ }
+ });
+
+ describe('Snowplow tracking', () => {
+ beforeEach(() => {
+ jest.spyOn(Tracking, 'event');
+ mountComponent({
+ props: { alertManagementEnabled: true, userCanEnableAlertManagement: true },
+ data: { alerts: { list: mockAlerts } },
+ });
+ });
+
+ it('should track alert list page views', () => {
+ const { category, action } = trackAlertListViewsOptions;
+ expect(Tracking.event).toHaveBeenCalledWith(category, action);
+ });
+ });
+});
diff --git a/spec/frontend/alert_management/components/alert_management_list_spec.js b/spec/frontend/alert_management/components/alert_management_table_spec.js
index ae95873cb1c..151d05ccc81 100644
--- a/spec/frontend/alert_management/components/alert_management_list_spec.js
+++ b/spec/frontend/alert_management/components/alert_management_table_spec.js
@@ -1,6 +1,5 @@
import { mount } from '@vue/test-utils';
import {
- GlEmptyState,
GlTable,
GlAlert,
GlLoadingIcon,
@@ -15,12 +14,8 @@ import {
} from '@gitlab/ui';
import { visitUrl } from '~/lib/utils/url_utility';
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
-import AlertManagementList from '~/alert_management/components/alert_management_list.vue';
-import {
- ALERTS_STATUS_TABS,
- trackAlertListViewsOptions,
- trackAlertStatusUpdateOptions,
-} from '~/alert_management/constants';
+import AlertManagementTable from '~/alert_management/components/alert_management_table.vue';
+import { ALERTS_STATUS_TABS, trackAlertStatusUpdateOptions } from '~/alert_management/constants';
import updateAlertStatus from '~/alert_management/graphql/mutations/update_alert_status.mutation.graphql';
import mockAlerts from '../mocks/alerts.json';
import Tracking from '~/tracking';
@@ -30,7 +25,7 @@ jest.mock('~/lib/utils/url_utility', () => ({
joinPaths: jest.requireActual('~/lib/utils/url_utility').joinPaths,
}));
-describe('AlertManagementList', () => {
+describe('AlertManagementTable', () => {
let wrapper;
const findAlertsTable = () => wrapper.find(GlTable);
@@ -66,12 +61,10 @@ describe('AlertManagementList', () => {
loading = false,
stubs = {},
} = {}) {
- wrapper = mount(AlertManagementList, {
+ wrapper = mount(AlertManagementTable, {
propsData: {
projectPath: 'gitlab-org/gitlab',
- enableAlertManagementPath: '/link',
populatingAlertsHelpUrl: '/help/help-page.md#populating-alert-data',
- emptyAlertSvgPath: 'illustration/path',
...props,
},
data() {
@@ -93,7 +86,7 @@ describe('AlertManagementList', () => {
}
beforeEach(() => {
- mountComponent();
+ mountComponent({ data: { alerts: mockAlerts, alertsCount } });
});
afterEach(() => {
@@ -102,12 +95,6 @@ describe('AlertManagementList', () => {
}
});
- describe('Empty state', () => {
- it('shows empty state', () => {
- expect(wrapper.find(GlEmptyState).exists()).toBe(true);
- });
- });
-
describe('Status Filter Tabs', () => {
beforeEach(() => {
mountComponent({
@@ -450,11 +437,6 @@ describe('AlertManagementList', () => {
});
});
- it('should track alert list page views', () => {
- const { category, action } = trackAlertListViewsOptions;
- expect(Tracking.event).toHaveBeenCalledWith(category, action);
- });
-
it('should track alert status updates', () => {
Tracking.event.mockClear();
jest.spyOn(wrapper.vm.$apollo, 'mutate').mockResolvedValue({});