summaryrefslogtreecommitdiff
path: root/spec/frontend/logs/components/environment_logs_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/logs/components/environment_logs_spec.js')
-rw-r--r--spec/frontend/logs/components/environment_logs_spec.js112
1 files changed, 16 insertions, 96 deletions
diff --git a/spec/frontend/logs/components/environment_logs_spec.js b/spec/frontend/logs/components/environment_logs_spec.js
index 49642153c69..4da987725a1 100644
--- a/spec/frontend/logs/components/environment_logs_spec.js
+++ b/spec/frontend/logs/components/environment_logs_spec.js
@@ -1,7 +1,5 @@
-import Vue from 'vue';
-import { GlSprintf, GlIcon, GlDropdown, GlDropdownItem, GlSearchBoxByClick } from '@gitlab/ui';
+import { GlSprintf, GlIcon, GlDropdown, GlDropdownItem } from '@gitlab/ui';
import { shallowMount } from '@vue/test-utils';
-import DateTimePicker from '~/vue_shared/components/date_time_picker/date_time_picker.vue';
import EnvironmentLogs from '~/logs/components/environment_logs.vue';
import { createStore } from '~/logs/stores';
@@ -13,7 +11,6 @@ import {
mockLogsResult,
mockTrace,
mockPodName,
- mockSearch,
mockEnvironmentsEndpoint,
mockDocumentationPath,
} from '../mock_data';
@@ -29,7 +26,6 @@ jest.mock('lodash/throttle', () =>
);
describe('EnvironmentLogs', () => {
- let EnvironmentLogsComponent;
let store;
let dispatch;
let wrapper;
@@ -44,13 +40,9 @@ describe('EnvironmentLogs', () => {
const updateControlBtnsMock = jest.fn();
const findEnvironmentsDropdown = () => wrapper.find('.js-environments-dropdown');
- const findPodsDropdown = () => wrapper.find('.js-pods-dropdown');
- const findPodsDropdownItems = () =>
- findPodsDropdown()
- .findAll(GlDropdownItem)
- .filter(itm => !itm.attributes('disabled'));
- const findSearchBar = () => wrapper.find('.js-logs-search');
- const findTimeRangePicker = () => wrapper.find({ ref: 'dateTimePicker' });
+
+ const findSimpleFilters = () => wrapper.find({ ref: 'log-simple-filters' });
+ const findAdvancedFilters = () => wrapper.find({ ref: 'log-advanced-filters' });
const findInfoAlert = () => wrapper.find('.js-elasticsearch-alert');
const findLogControlButtons = () => wrapper.find({ name: 'log-control-buttons-stub' });
@@ -79,7 +71,7 @@ describe('EnvironmentLogs', () => {
};
const initWrapper = () => {
- wrapper = shallowMount(EnvironmentLogsComponent, {
+ wrapper = shallowMount(EnvironmentLogs, {
propsData,
store,
stubs: {
@@ -111,7 +103,6 @@ describe('EnvironmentLogs', () => {
beforeEach(() => {
store = createStore();
state = store.state.environmentLogs;
- EnvironmentLogsComponent = Vue.extend(EnvironmentLogs);
jest.spyOn(store, 'dispatch').mockResolvedValue();
@@ -132,17 +123,10 @@ describe('EnvironmentLogs', () => {
expect(wrapper.isVueInstance()).toBe(true);
expect(wrapper.isEmpty()).toBe(false);
- // top bar
expect(findEnvironmentsDropdown().is(GlDropdown)).toBe(true);
- expect(findPodsDropdown().is(GlDropdown)).toBe(true);
+ expect(findSimpleFilters().exists()).toBe(true);
expect(findLogControlButtons().exists()).toBe(true);
- expect(findSearchBar().exists()).toBe(true);
- expect(findSearchBar().is(GlSearchBoxByClick)).toBe(true);
- expect(findTimeRangePicker().exists()).toBe(true);
- expect(findTimeRangePicker().is(DateTimePicker)).toBe(true);
-
- // log trace
expect(findInfiniteScroll().exists()).toBe(true);
expect(findLogTrace().exists()).toBe(true);
});
@@ -181,20 +165,6 @@ describe('EnvironmentLogs', () => {
expect(findEnvironmentsDropdown().findAll(GlDropdownItem).length).toBe(0);
});
- it('displays a disabled pods dropdown', () => {
- expect(findPodsDropdown().attributes('disabled')).toBe('true');
- expect(findPodsDropdownItems()).toHaveLength(0);
- });
-
- it('displays a disabled search bar', () => {
- expect(findSearchBar().exists()).toBe(true);
- expect(findSearchBar().attributes('disabled')).toBe('true');
- });
-
- it('displays a disabled time window dropdown', () => {
- expect(findTimeRangePicker().attributes('disabled')).toBe('true');
- });
-
it('does not update buttons state', () => {
expect(updateControlBtnsMock).not.toHaveBeenCalled();
});
@@ -237,17 +207,14 @@ describe('EnvironmentLogs', () => {
initWrapper();
});
- it('displays a disabled time window dropdown', () => {
- expect(findTimeRangePicker().attributes('disabled')).toBe('true');
- });
-
- it('displays a disabled search bar', () => {
- expect(findSearchBar().attributes('disabled')).toBe('true');
- });
-
it('displays an alert to upgrade to ES', () => {
expect(findInfoAlert().exists()).toBe(true);
});
+
+ it('displays simple filters for kubernetes logs API', () => {
+ expect(findSimpleFilters().exists()).toBe(true);
+ expect(findAdvancedFilters().exists()).toBe(false);
+ });
});
describe('state with data', () => {
@@ -271,21 +238,6 @@ describe('EnvironmentLogs', () => {
updateControlBtnsMock.mockReset();
});
- it('displays an enabled search bar', () => {
- expect(findSearchBar().attributes('disabled')).toBeFalsy();
-
- // input a query and click `search`
- findSearchBar().vm.$emit('input', mockSearch);
- findSearchBar().vm.$emit('submit');
-
- expect(dispatch).toHaveBeenCalledWith(`${module}/setInitData`, expect.any(Object));
- expect(dispatch).toHaveBeenCalledWith(`${module}/setSearch`, mockSearch);
- });
-
- it('displays an enabled time window dropdown', () => {
- expect(findTimeRangePicker().attributes('disabled')).toBeFalsy();
- });
-
it('does not display an alert to upgrade to ES', () => {
expect(findInfoAlert().exists()).toBe(false);
});
@@ -306,24 +258,16 @@ describe('EnvironmentLogs', () => {
const item = items.at(i);
if (item.text() !== mockEnvName) {
- expect(item.find(GlIcon).classes()).toContain('invisible');
+ expect(item.find(GlIcon).classes('invisible')).toBe(true);
} else {
- // selected
- expect(item.find(GlIcon).classes()).not.toContain('invisible');
+ expect(item.find(GlIcon).classes('invisible')).toBe(false);
}
});
});
- it('populates pods dropdown', () => {
- const items = findPodsDropdownItems();
-
- expect(findPodsDropdown().props('text')).toBe(mockPodName);
- expect(items.length).toBe(mockPods.length + 1);
- expect(items.at(0).text()).toBe('All pods');
- mockPods.forEach((pod, i) => {
- const item = items.at(i + 1);
- expect(item.text()).toBe(pod);
- });
+ it('displays advanced filters for elasticsearch logs API', () => {
+ expect(findSimpleFilters().exists()).toBe(false);
+ expect(findAdvancedFilters().exists()).toBe(true);
});
it('shows infinite scroll with height and no content', () => {
@@ -331,19 +275,6 @@ describe('EnvironmentLogs', () => {
expect(getInfiniteScrollAttr('fetched-items')).toBe(mockTrace.length);
});
- it('dropdown has one pod selected', () => {
- const items = findPodsDropdownItems();
- mockPods.forEach((pod, i) => {
- const item = items.at(i);
- if (item.text() !== mockPodName) {
- expect(item.find(GlIcon).classes()).toContain('invisible');
- } else {
- // selected
- expect(item.find(GlIcon).classes()).not.toContain('invisible');
- }
- });
- });
-
it('populates logs trace', () => {
const trace = findLogTrace();
expect(trace.text().split('\n').length).toBe(mockTrace.length);
@@ -371,17 +302,6 @@ describe('EnvironmentLogs', () => {
);
});
- it('pod name, trace is refreshed', () => {
- const items = findPodsDropdownItems();
- const index = 2; // any pod
-
- expect(dispatch).not.toHaveBeenCalledWith(`${module}/showPodLogs`, expect.anything());
-
- items.at(index + 1).vm.$emit('click');
-
- expect(dispatch).toHaveBeenCalledWith(`${module}/showPodLogs`, mockPods[index]);
- });
-
it('refresh button, trace is refreshed', () => {
expect(dispatch).not.toHaveBeenCalledWith(`${module}/showPodLogs`, expect.anything());