summaryrefslogtreecommitdiffstats
path: root/polygerrit-ui/app/elements/settings/gr-menu-editor/gr-menu-editor_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'polygerrit-ui/app/elements/settings/gr-menu-editor/gr-menu-editor_test.js')
-rw-r--r--polygerrit-ui/app/elements/settings/gr-menu-editor/gr-menu-editor_test.js164
1 files changed, 0 insertions, 164 deletions
diff --git a/polygerrit-ui/app/elements/settings/gr-menu-editor/gr-menu-editor_test.js b/polygerrit-ui/app/elements/settings/gr-menu-editor/gr-menu-editor_test.js
deleted file mode 100644
index 1ca48520b9..0000000000
--- a/polygerrit-ui/app/elements/settings/gr-menu-editor/gr-menu-editor_test.js
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * @license
- * Copyright (C) 2016 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-menu-editor.js';
-import {flush as flush$0} from '@polymer/polymer/lib/legacy/polymer.dom.js';
-
-const basicFixture = fixtureFromElement('gr-menu-editor');
-
-suite('gr-menu-editor tests', () => {
- let element;
- let menu;
-
- function assertMenuNamesEqual(element, expected) {
- const names = element.menuItems.map(i => i.name);
- assert.equal(names.length, expected.length);
- for (let i = 0; i < names.length; i++) {
- assert.equal(names[i], expected[i]);
- }
- }
-
- // Click the up/down button (according to direction) for the index'th row.
- // The index of the first row is 0, corresponding to the array.
- function move(element, index, direction) {
- const selector = 'tr:nth-child(' + (index + 1) + ') .move' +
- direction + 'Button';
- const button =
- element.shadowRoot
- .querySelector('tbody').querySelector(selector)
- .shadowRoot
- .querySelector('paper-button');
- MockInteractions.tap(button);
- }
-
- setup(async () => {
- element = basicFixture.instantiate();
- menu = [
- {url: '/first/url', name: 'first name', target: '_blank'},
- {url: '/second/url', name: 'second name', target: '_blank'},
- {url: '/third/url', name: 'third name', target: '_blank'},
- ];
- element.set('menuItems', menu);
- flush$0();
- await flush();
- });
-
- test('renders', () => {
- const rows = element.shadowRoot
- .querySelector('tbody').querySelectorAll('tr');
- let tds;
-
- assert.equal(rows.length, menu.length);
- for (let i = 0; i < menu.length; i++) {
- tds = rows[i].querySelectorAll('td');
- assert.equal(tds[0].textContent, menu[i].name);
- assert.equal(tds[1].textContent, menu[i].url);
- }
-
- assert.isTrue(element._computeAddDisabled(element._newName,
- element._newUrl));
- });
-
- test('_computeAddDisabled', () => {
- assert.isTrue(element._computeAddDisabled('', ''));
- assert.isTrue(element._computeAddDisabled('name', ''));
- assert.isTrue(element._computeAddDisabled('', 'url'));
- assert.isFalse(element._computeAddDisabled('name', 'url'));
- });
-
- test('add a new menu item', () => {
- const newName = 'new name';
- const newUrl = 'new url';
-
- element._newName = newName;
- element._newUrl = newUrl;
- assert.isFalse(element._computeAddDisabled(element._newName,
- element._newUrl));
-
- const originalMenuLength = element.menuItems.length;
-
- element._handleAddButton();
-
- assert.equal(element.menuItems.length, originalMenuLength + 1);
- assert.equal(element.menuItems[element.menuItems.length - 1].name,
- newName);
- assert.equal(element.menuItems[element.menuItems.length - 1].url, newUrl);
- });
-
- test('move items down', () => {
- assertMenuNamesEqual(element,
- ['first name', 'second name', 'third name']);
-
- // Move the middle item down
- move(element, 1, 'Down');
- assertMenuNamesEqual(element,
- ['first name', 'third name', 'second name']);
-
- // Moving the bottom item down is a no-op.
- move(element, 2, 'Down');
- assertMenuNamesEqual(element,
- ['first name', 'third name', 'second name']);
- });
-
- test('move items up', () => {
- assertMenuNamesEqual(element,
- ['first name', 'second name', 'third name']);
-
- // Move the last item up twice to be the first.
- move(element, 2, 'Up');
- move(element, 1, 'Up');
- assertMenuNamesEqual(element,
- ['third name', 'first name', 'second name']);
-
- // Moving the top item up is a no-op.
- move(element, 0, 'Up');
- assertMenuNamesEqual(element,
- ['third name', 'first name', 'second name']);
- });
-
- test('remove item', () => {
- assertMenuNamesEqual(element,
- ['first name', 'second name', 'third name']);
-
- // Tap the delete button for the middle item.
- MockInteractions.tap(element.shadowRoot
- .querySelector('tbody')
- .querySelector('tr:nth-child(2) .remove-button')
- .shadowRoot
- .querySelector('paper-button'));
-
- assertMenuNamesEqual(element, ['first name', 'third name']);
-
- // Delete remaining items.
- for (let i = 0; i < 2; i++) {
- MockInteractions.tap(element.shadowRoot
- .querySelector('tbody')
- .querySelector('tr:first-child .remove-button')
- .shadowRoot
- .querySelector('paper-button'));
- }
- assertMenuNamesEqual(element, []);
-
- // Add item to empty menu.
- element._newName = 'new name';
- element._newUrl = 'new url';
- element._handleAddButton();
- assertMenuNamesEqual(element, ['new name']);
- });
-});
-