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:
Diffstat (limited to 'spec/frontend/logs/components/log_advanced_filters_spec.js')
-rw-r--r--spec/frontend/logs/components/log_advanced_filters_spec.js175
1 files changed, 0 insertions, 175 deletions
diff --git a/spec/frontend/logs/components/log_advanced_filters_spec.js b/spec/frontend/logs/components/log_advanced_filters_spec.js
deleted file mode 100644
index 4e4052eb4d8..00000000000
--- a/spec/frontend/logs/components/log_advanced_filters_spec.js
+++ /dev/null
@@ -1,175 +0,0 @@
-import { GlFilteredSearch } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import { convertToFixedRange } from '~/lib/utils/datetime_range';
-import LogAdvancedFilters from '~/logs/components/log_advanced_filters.vue';
-import { TOKEN_TYPE_POD_NAME } from '~/logs/constants';
-import { createStore } from '~/logs/stores';
-import { OPERATOR_IS_ONLY } from '~/vue_shared/components/filtered_search_bar/constants';
-import { defaultTimeRange } from '~/vue_shared/constants';
-import { mockPods, mockSearch } from '../mock_data';
-
-const module = 'environmentLogs';
-
-describe('LogAdvancedFilters', () => {
- let store;
- let dispatch;
- let wrapper;
- let state;
-
- const findFilteredSearch = () => wrapper.find(GlFilteredSearch);
- const findTimeRangePicker = () => wrapper.find({ ref: 'dateTimePicker' });
- const getSearchToken = (type) =>
- findFilteredSearch()
- .props('availableTokens')
- .filter((token) => token.type === type)[0];
-
- const mockStateLoading = () => {
- state.timeRange.selected = defaultTimeRange;
- state.timeRange.current = convertToFixedRange(defaultTimeRange);
- state.pods.options = [];
- state.pods.current = null;
- state.logs.isLoading = true;
- };
-
- const mockStateWithData = () => {
- state.timeRange.selected = defaultTimeRange;
- state.timeRange.current = convertToFixedRange(defaultTimeRange);
- state.pods.options = mockPods;
- state.pods.current = null;
- state.logs.isLoading = false;
- };
-
- const initWrapper = (propsData = {}) => {
- wrapper = shallowMount(LogAdvancedFilters, {
- propsData: {
- ...propsData,
- },
- store,
- });
- };
-
- beforeEach(() => {
- store = createStore();
- state = store.state.environmentLogs;
-
- jest.spyOn(store, 'dispatch').mockResolvedValue();
-
- dispatch = store.dispatch;
- });
-
- afterEach(() => {
- store.dispatch.mockReset();
-
- if (wrapper) {
- wrapper.destroy();
- }
- });
-
- it('displays UI elements', () => {
- initWrapper();
-
- expect(findFilteredSearch().exists()).toBe(true);
- expect(findTimeRangePicker().exists()).toBe(true);
- });
-
- it('displays search tokens', () => {
- initWrapper();
-
- expect(getSearchToken(TOKEN_TYPE_POD_NAME)).toMatchObject({
- title: 'Pod name',
- unique: true,
- operators: OPERATOR_IS_ONLY,
- });
- });
-
- describe('disabled state', () => {
- beforeEach(() => {
- mockStateLoading();
- initWrapper({
- disabled: true,
- });
- });
-
- it('displays disabled filters', () => {
- expect(findFilteredSearch().attributes('disabled')).toBeTruthy();
- expect(findTimeRangePicker().attributes('disabled')).toBeTruthy();
- });
- });
-
- describe('when the state is loading', () => {
- beforeEach(() => {
- mockStateLoading();
- initWrapper();
- });
-
- it('displays a disabled search', () => {
- expect(findFilteredSearch().attributes('disabled')).toBeTruthy();
- });
-
- it('displays an enable date filter', () => {
- expect(findTimeRangePicker().attributes('disabled')).toBeFalsy();
- });
-
- it('displays no pod options when no pods are available, so suggestions can be displayed', () => {
- expect(getSearchToken(TOKEN_TYPE_POD_NAME).options).toBe(null);
- expect(getSearchToken(TOKEN_TYPE_POD_NAME).loading).toBe(true);
- });
- });
-
- describe('when the state has data', () => {
- beforeEach(() => {
- mockStateWithData();
- initWrapper();
- });
-
- it('displays a single token for pods', () => {
- initWrapper();
-
- const tokens = findFilteredSearch().props('availableTokens');
-
- expect(tokens).toHaveLength(1);
- expect(tokens[0].type).toBe(TOKEN_TYPE_POD_NAME);
- });
-
- it('displays a enabled filters', () => {
- expect(findFilteredSearch().attributes('disabled')).toBeFalsy();
- expect(findTimeRangePicker().attributes('disabled')).toBeFalsy();
- });
-
- it('displays options in the pods token', () => {
- const { options } = getSearchToken(TOKEN_TYPE_POD_NAME);
-
- expect(options).toHaveLength(mockPods.length);
- });
-
- it('displays options in date time picker', () => {
- const options = findTimeRangePicker().props('options');
-
- expect(options).toEqual(expect.any(Array));
- expect(options.length).toBeGreaterThan(0);
- });
-
- describe('when the user interacts', () => {
- it('clicks on the search button, showFilteredLogs is dispatched', () => {
- findFilteredSearch().vm.$emit('submit', null);
-
- expect(dispatch).toHaveBeenCalledWith(`${module}/showFilteredLogs`, null);
- });
-
- it('clicks on the search button, showFilteredLogs is dispatched with null', () => {
- findFilteredSearch().vm.$emit('submit', [mockSearch]);
-
- expect(dispatch).toHaveBeenCalledWith(`${module}/showFilteredLogs`, [mockSearch]);
- });
-
- it('selects a new time range', () => {
- expect(findTimeRangePicker().attributes('disabled')).toBeFalsy();
-
- const mockRange = { start: 'START_DATE', end: 'END_DATE' };
- findTimeRangePicker().vm.$emit('input', mockRange);
-
- expect(dispatch).toHaveBeenCalledWith(`${module}/setTimeRange`, mockRange);
- });
- });
- });
-});