Commit cb9414a0 authored by Bailey Berro's avatar Bailey Berro Committed by Commit Bot

Add UI tests for the Add Smb Share dialog.

Bug: chromium:757625
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I9e28d0ef490cd820639eb273abd1aa8c41640b6d
Reviewed-on: https://chromium-review.googlesource.com/1054327
Commit-Queue: Bailey Berro <baileyberro@chromium.org>
Reviewed-by: default avatarDemetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558076}
parent d30fa167
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-input/paper-input.html">
<link rel="import" href="../settings_shared_css.html">
<link rel="import" href="smb_browser_proxy.html">
......@@ -9,7 +12,6 @@
paper-input {
width: var(--paper-input-max-width);
}
</style>
<cr-dialog id="dialog">
......
......@@ -1725,6 +1725,31 @@ TEST_F('CrSettingsPrintingPageTest', 'All', function() {
mocha.run();
});
/**
* Test fixture for the Smb Shares page.
* @constructor
* @extends {CrSettingsBrowserTest}
*/
function CrSettingsSmbPageTest() {}
CrSettingsSmbPageTest.prototype = {
__proto__: CrSettingsBrowserTest.prototype,
/** @override */
browsePreload: 'chrome://settings/downloads_page/smb_shares_page.html',
/** @override */
extraLibraries: CrSettingsBrowserTest.prototype.extraLibraries.concat([
'test_util.js',
'../test_browser_proxy.js',
'smb_shares_page_tests.js',
]),
};
TEST_F('CrSettingsSmbPageTest', 'All', function() {
mocha.run();
});
/**
* Test fixture for the multidevice settings page.
* @constructor
......@@ -1748,10 +1773,6 @@ TEST_F('CrSettingsMultidevicePageTest', 'All', function() {
mocha.run();
});
GEN('#endif // defined(OS_CHROMEOS)');
GEN('#if defined(OS_CHROMEOS)');
/**
* Test fixture for the Linux for Chromebook (Crostini) page.
* @constructor
......
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/** @implements {settings.SmbBrowserProxy} */
class TestSmbBrowserProxy extends TestBrowserProxy {
constructor() {
super([
'smbMount',
]);
}
/** @override */
smbMount(smbUrl) {
this.methodCalled('smbMount', smbUrl);
}
}
suite('AddSmbShareDialogTests', function() {
let page = null;
let addDialog = null;
/** @type {?settings.TestSmbBrowserProxy} */
let smbBrowserProxy = null;
setup(function() {
smbBrowserProxy = new TestSmbBrowserProxy();
settings.SmbBrowserProxyImpl.instance_ = smbBrowserProxy;
PolymerTest.clearBody();
page = document.createElement('settings-smb-shares-page');
document.body.appendChild(page);
const button = page.$$('#addShare');
assertTrue(!!button);
button.click();
Polymer.dom.flush();
addDialog = page.$$('settings-add-smb-share-dialog');
assertTrue(!!addDialog);
Polymer.dom.flush();
});
teardown(function() {
page.remove();
addDialog = null;
page = null;
});
test('AddBecomesEnabled', function() {
const url = addDialog.$.address;
expectTrue(!!url);
url.value = 'smb://192.168.1.1/testshare';
const addButton = addDialog.$$('#actionButton');
expectTrue(!!addButton);
expectFalse(addButton.disabled);
});
test('ClickAdd', function() {
const expectedSmbUrl = 'smb://192.168.1.1/testshare';
const url = addDialog.$$('#address');
expectTrue(!!url);
url.value = expectedSmbUrl;
expectTrue(!!addDialog);
const addButton = addDialog.$$('.action-button');
expectTrue(!!addButton);
addButton.click();
return smbBrowserProxy.whenCalled('smbMount').then(function(actualSmbUrl) {
expectEquals(expectedSmbUrl, actualSmbUrl);
});
});
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment