summaryrefslogtreecommitdiffstats
path: root/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js')
-rw-r--r--polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js203
1 files changed, 0 insertions, 203 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js
deleted file mode 100644
index 479a9a167d..0000000000
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js
+++ /dev/null
@@ -1,203 +0,0 @@
-/**
- * @license
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import '../../../test/common-test-setup-karma.js';
-import './gr-file-list-header.js';
-import {FilesExpandedState} from '../gr-file-list-constants.js';
-import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
-import 'lodash/lodash.js';
-import {createRevisions} from '../../../test/test-data-generators.js';
-import {stubRestApi} from '../../../test/test-utils.js';
-
-const basicFixture = fixtureFromElement('gr-file-list-header');
-
-suite('gr-file-list-header tests', () => {
- let element;
-
- setup(() => {
- stubRestApi('getConfig').returns(Promise.resolve({test: 'config'}));
- stubRestApi('getAccount').returns(Promise.resolve(null));
- element = basicFixture.instantiate();
- });
-
- teardown(async () => {
- await flush();
- });
-
- test('Diff preferences hidden when no prefs', () => {
- assert.isTrue(element.$.diffPrefsContainer.hidden);
-
- element.diffPrefs = {font_size: '12'};
- element.loggedIn = true;
- flush();
- assert.isFalse(element.$.diffPrefsContainer.hidden);
- });
-
- test('expandAllDiffs called when expand button clicked', () => {
- element.shownFileCount = 1;
- flush();
- sinon.stub(element, '_expandAllDiffs');
- MockInteractions.tap(element.root.querySelector(
- '#expandBtn'));
- assert.isTrue(element._expandAllDiffs.called);
- });
-
- test('collapseAllDiffs called when collapse button clicked', () => {
- element.shownFileCount = 1;
- flush();
- sinon.stub(element, '_collapseAllDiffs');
- MockInteractions.tap(element.root.querySelector(
- '#collapseBtn'));
- assert.isTrue(element._collapseAllDiffs.called);
- });
-
- test('show/hide diffs disabled for large amounts of files', async () => {
- const computeSpy = sinon.spy(element, '_fileListActionsVisible');
- element._files = [];
- element.changeNum = '42';
- element.basePatchNum = 'PARENT';
- element.patchNum = '2';
- element.shownFileCount = 1;
- await flush();
- assert.isTrue(computeSpy.lastCall.returnValue);
- _.times(element._maxFilesForBulkActions + 1, () => {
- element.shownFileCount = element.shownFileCount + 1;
- });
- assert.isFalse(computeSpy.lastCall.returnValue);
- });
-
- test('fileViewActions are properly hidden', async () => {
- const actions = element.shadowRoot
- .querySelector('.fileViewActions');
- assert.equal(getComputedStyle(actions).display, 'none');
- element.filesExpanded = FilesExpandedState.SOME;
- await flush();
- assert.notEqual(getComputedStyle(actions).display, 'none');
- element.filesExpanded = FilesExpandedState.ALL;
- await flush();
- assert.notEqual(getComputedStyle(actions).display, 'none');
- element.filesExpanded = FilesExpandedState.NONE;
- await flush();
- assert.equal(getComputedStyle(actions).display, 'none');
- });
-
- test('expand/collapse buttons are toggled correctly', async () => {
- // Only the expand button should be visible in the initial state when
- // NO files are expanded.
- element.shownFileCount = 10;
- await flush();
- const expandBtn = element.shadowRoot.querySelector('#expandBtn');
- const collapseBtn = element.shadowRoot.querySelector('#collapseBtn');
- assert.notEqual(getComputedStyle(expandBtn).display, 'none');
- assert.equal(getComputedStyle(collapseBtn).display, 'none');
-
- // Both expand and collapse buttons should be visible when SOME files are
- // expanded.
- element.filesExpanded = FilesExpandedState.SOME;
- await flush();
- assert.notEqual(getComputedStyle(expandBtn).display, 'none');
- assert.notEqual(getComputedStyle(collapseBtn).display, 'none');
-
- // Only the collapse button should be visible when ALL files are expanded.
- element.filesExpanded = FilesExpandedState.ALL;
- await flush();
- assert.equal(getComputedStyle(expandBtn).display, 'none');
- assert.notEqual(getComputedStyle(collapseBtn).display, 'none');
-
- // Only the expand button should be visible when NO files are expanded.
- element.filesExpanded = FilesExpandedState.NONE;
- await flush();
- assert.notEqual(getComputedStyle(expandBtn).display, 'none');
- assert.equal(getComputedStyle(collapseBtn).display, 'none');
- });
-
- test('navigateToChange called when range select changes', () => {
- const navigateToChangeStub = sinon.stub(GerritNav, 'navigateToChange');
- element.change = {
- change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
- revisions: {
- rev2: {_number: 2},
- rev1: {_number: 1},
- rev13: {_number: 13},
- rev3: {_number: 3},
- },
- status: 'NEW',
- labels: {},
- };
- element.basePatchNum = 1;
- element.patchNum = 2;
-
- element._handlePatchChange({detail: {basePatchNum: 1, patchNum: 3}});
- assert.equal(navigateToChangeStub.callCount, 1);
- assert.isTrue(navigateToChangeStub.lastCall
- .calledWithExactly(element.change, 3, 1));
- });
-
- test('class is applied to file list on old patch set', () => {
- const allPatchSets = [{num: 4}, {num: 2}, {num: 1}];
- assert.equal(element._computePatchInfoClass(1, allPatchSets),
- 'patchInfoOldPatchSet');
- assert.equal(element._computePatchInfoClass(2, allPatchSets),
- 'patchInfoOldPatchSet');
- assert.equal(element._computePatchInfoClass(4, allPatchSets), '');
- });
-
- suite('editMode behavior', () => {
- setup(() => {
- element.loggedIn = true;
- element.diffPrefs = {};
- });
-
- const isVisible = el => {
- assert.ok(el);
- return getComputedStyle(el).getPropertyValue('display') !== 'none';
- };
-
- test('patch specific elements', () => {
- element.editMode = true;
- element.allPatchSets = createRevisions(2);
- flush();
-
- assert.isFalse(isVisible(element.$.diffPrefsContainer));
-
- element.editMode = false;
- flush();
-
- assert.isTrue(isVisible(element.$.diffPrefsContainer));
- });
-
- test('edit-controls visibility', () => {
- element.editMode = false;
- flush();
- // on the first render, when editMode is false, editControls are not
- // in the DOM to reduce size of DOM and make first render faster.
- assert.isNull(element.shadowRoot
- .querySelector('#editControls'));
-
- element.editMode = true;
- flush();
- assert.isTrue(isVisible(element.shadowRoot
- .querySelector('#editControls').parentElement));
-
- element.editMode = false;
- flush();
- assert.isFalse(isVisible(element.shadowRoot
- .querySelector('#editControls').parentElement));
- });
- });
-});
-