summaryrefslogtreecommitdiffstats
path: root/polygerrit-ui/app/elements/plugins/gr-settings-api/gr-settings-api_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'polygerrit-ui/app/elements/plugins/gr-settings-api/gr-settings-api_test.html')
-rw-r--r--polygerrit-ui/app/elements/plugins/gr-settings-api/gr-settings-api_test.html83
1 files changed, 83 insertions, 0 deletions
diff --git a/polygerrit-ui/app/elements/plugins/gr-settings-api/gr-settings-api_test.html b/polygerrit-ui/app/elements/plugins/gr-settings-api/gr-settings-api_test.html
new file mode 100644
index 0000000000..cabd26b3f7
--- /dev/null
+++ b/polygerrit-ui/app/elements/plugins/gr-settings-api/gr-settings-api_test.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<!--
+@license
+Copyright (C) 2017 The Android Open Source Settings
+
+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.
+-->
+
+<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
+<title>gr-settings-api</title>
+
+<script src="../../../bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
+<script src="../../../bower_components/web-component-tester/browser.js"></script>
+<link rel="import" href="../../../test/common-test-setup.html"/>
+<link rel="import" href="../gr-endpoint-decorator/gr-endpoint-decorator.html">
+<link rel="import" href="gr-settings-api.html">
+
+<script>void(0);</script>
+
+<test-fixture id="basic">
+ <template>
+ <gr-endpoint-decorator name="settings-menu-item">
+ </gr-endpoint-decorator>
+ <gr-endpoint-decorator name="settings-screen">
+ </gr-endpoint-decorator>
+ </template>
+</test-fixture>
+
+<script>
+ suite('gr-settings-api tests', () => {
+ let sandbox;
+ let settingsApi;
+
+ setup(() => {
+ sandbox = sinon.sandbox.create();
+ let plugin;
+ Gerrit.install(p => { plugin = p; }, '0.1',
+ 'http://test.com/plugins/testplugin/static/test.js');
+ sandbox.stub(Gerrit, '_arePluginsLoaded').returns(true);
+ settingsApi = plugin.settings();
+ });
+
+ teardown(() => {
+ settingsApi = null;
+ sandbox.restore();
+ });
+
+ test('exists', () => {
+ assert.isOk(settingsApi);
+ });
+
+ test('works', done => {
+ settingsApi
+ .title('foo')
+ .token('bar')
+ .module('some-settings-screen')
+ .build();
+ const element = fixture('basic');
+ flush(() => {
+ const [menuItemEl, itemEl] = element;
+ const menuItem = menuItemEl.$$('gr-settings-menu-item');
+ assert.isOk(menuItem);
+ assert.equal(menuItem.title, 'foo');
+ assert.equal(menuItem.href, '#x/testplugin/bar');
+ const item = itemEl.$$('gr-settings-item');
+ assert.isOk(item);
+ assert.equal(item.title, 'foo');
+ assert.equal(item.anchor, 'x/testplugin/bar');
+ done();
+ });
+ });
+ });
+</script>