Commit 73bccc9d authored by Nnamdi Theodore Johnson-Kanu's avatar Nnamdi Theodore Johnson-Kanu Committed by Commit Bot

[CrOS cellular] Add cellular networks list test

Bug: 1093185
Change-Id: I30ebb200d5269767b5166a6d66d5577bde6b4cb3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2527689
Commit-Queue: Nnamdi Theodore Johnson-kanu <tjohnsonkanu@google.com>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Reviewed-by: default avatarAzeem Arshad <azeemarshad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#827401}
parent 64f1994c
......@@ -43,7 +43,8 @@
<template
is="dom-if"
if="[[!shouldShowNetworkSublist_(eSimNetworks_)]]" restamp>
<div class="cellular-network-content cellular-not-setup">
<div id="eSimNoNetworkFound"
class="cellular-network-content cellular-not-setup">
<settings-localized-link
on-link-clicked="onEsimLearnMoreClicked_"
localized-string="$i18n{eSimNetworkNotSetup}">
......@@ -68,7 +69,8 @@
<template
is="dom-if"
if="[[!shouldShowNetworkSublist_(pSimNetworks_)]]" restamp>
<div class="cellular-network-content cellular-not-setup">
<div id="pSimNoNetworkFound"
class="cellular-network-content cellular-not-setup">
<settings-localized-link
on-link-clicked="onPsimLearnMoreClicked_"
localized-string="$i18n{pSimNetworkNotSetup}">
......
......@@ -283,6 +283,7 @@ if (include_js_tests) {
"$root_gen_dir/chrome/test/data/webui/nearby_share/shared/nearby_visibility_page_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/chromeos/ambient_mode_page_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/chromeos/bluetooth_page_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/chromeos/cellular_networks_list_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/chromeos/cellular_setup_dialog_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/chromeos/date_time_page_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/chromeos/fake_bluetooth_private.m.js",
......
......@@ -33,6 +33,7 @@ js_modulizer("modulize") {
input_files = [
"ambient_mode_page_test.js",
"bluetooth_page_tests.js",
"cellular_networks_list_test.js",
"cellular_setup_dialog_test.js",
"date_time_page_tests.js",
"fake_bluetooth.js",
......
// Copyright 2020 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.
// clang-format off
// #import 'chrome://os-settings/chromeos/os_settings.js';
// #import {FakeNetworkConfig} from 'chrome://test/chromeos/fake_network_config_mojom.m.js';
// #import {MojoInterfaceProviderImpl} from 'chrome://resources/cr_components/chromeos/network/mojo_interface_provider.m.js';
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
// #import {OncMojo} from 'chrome://resources/cr_components/chromeos/network/onc_mojo.m.js';
// #import {eventToPromise} from 'chrome://test/test_util.m.js';
// #import {CellularSetupPageName} from 'chrome://resources/cr_components/chromeos/cellular_setup/cellular_types.m.js';
// clang-format on
suite('CellularNetworkList', function() {
let cellularNetworkList;
let mojom;
/** @type {!chromeos.networkConfig.mojom.CrosNetworkConfigRemote|undefined} */
let mojoApi_;
setup(function() {
mojom = chromeos.networkConfig.mojom;
mojoApi_ = new FakeNetworkConfig();
network_config.MojoInterfaceProviderImpl.getInstance().remote_ = mojoApi_;
cellularNetworkList = document.createElement('cellular-networks-list');
// iron-list will not create list items if the container of the list is of
// size zero.
cellularNetworkList.style.height = '100%';
cellularNetworkList.style.width = '100%';
document.body.appendChild(cellularNetworkList);
Polymer.dom.flush();
});
function setNetworksForTest(type, networks) {
mojoApi_.resetForTest();
mojoApi_.setNetworkTypeEnabledState(type, true);
mojoApi_.addNetworksForTest(networks);
cellularNetworkList.deviceState = mojoApi_.getDeviceStateForTest(type);
cellularNetworkList.networks = networks;
}
function flushAsync() {
Polymer.dom.flush();
// Use setTimeout to wait for the next macrotask.
return new Promise(resolve => setTimeout(resolve));
}
test('Tether plus cellular', async () => {
setNetworksForTest(mojom.NetworkType.kCellular, [
OncMojo.getDefaultNetworkState(mojom.NetworkType.kCellular, 'cellular1'),
OncMojo.getDefaultNetworkState(mojom.NetworkType.kCellular, 'cellular2'),
OncMojo.getDefaultNetworkState(mojom.NetworkType.kTether, 'tether1'),
OncMojo.getDefaultNetworkState(mojom.NetworkType.kTether, 'tether2'),
]);
Polymer.dom.flush();
await flushAsync();
assertEquals(2, cellularNetworkList.pSimNetworks_.length);
assertEquals(2, cellularNetworkList.tetherNetworks_.length);
const pSimNetworkList = cellularNetworkList.$$('#psimNetworkList');
assertTrue(!!pSimNetworkList);
const tetherNetworkList = cellularNetworkList.$$('#tetherNetworkList');
assertTrue(!!tetherNetworkList);
assertEquals(2, pSimNetworkList.networks.length);
assertEquals(2, tetherNetworkList.networks.length);
});
test(
'Fire show cellular setup event on eSim/psim no network link click ',
async () => {
setNetworksForTest(mojom.NetworkType.kCellular, [
OncMojo.getDefaultNetworkState(mojom.NetworkType.kTether, 'tether1'),
]);
Polymer.dom.flush();
await flushAsync();
const esimNoNetworkAnchor =
cellularNetworkList.$$('#eSimNoNetworkFound')
.querySelector('settings-localized-link')
.shadowRoot.querySelector('a');
assertTrue(!!esimNoNetworkAnchor);
const showEsimCellularSetupPromise = test_util.eventToPromise(
'show-cellular-setup', cellularNetworkList);
esimNoNetworkAnchor.click();
const eSimCellularEvent = await showEsimCellularSetupPromise;
assertEquals(
eSimCellularEvent.detail.pageName,
cellularSetup.CellularSetupPageName.ESIM_FLOW_UI);
const psimNoNetworkAnchor =
cellularNetworkList.$$('#pSimNoNetworkFound')
.querySelector('settings-localized-link')
.shadowRoot.querySelector('a');
assertTrue(!!psimNoNetworkAnchor);
const showPsimCellularSetupPromise = test_util.eventToPromise(
'show-cellular-setup', cellularNetworkList);
psimNoNetworkAnchor.click();
const pSimCellularEvent = await showPsimCellularSetupPromise;
assertEquals(
pSimCellularEvent.detail.pageName,
cellularSetup.CellularSetupPageName.PSIM_FLOW_UI);
});
});
......@@ -940,6 +940,35 @@ TEST_F(
mocha.run();
});
// Test fixture for settings-internet-known-cellular-networks-page.
// eslint-disable-next-line no-var
var OSSettingsCellularNetworksListTest = class extends OSSettingsBrowserTest {
/** @override */
get browsePreload() {
return super.browsePreload; /* +
'chromeos/internet_page/cellular_setup_dialog.html';*/
}
/** @override */
get featureList() {
return {enabled: ['chromeos::features::kUpdatedCellularActivationUi']};
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'//ui/webui/resources/js/assert.js',
BROWSER_SETTINGS_PATH + '../test_util.js',
BROWSER_SETTINGS_PATH + '../chromeos/fake_network_config_mojom.js',
'cellular_networks_list_test.js',
]);
}
};
TEST_F('OSSettingsCellularNetworksListTest', 'CellularNetworkList', () => {
mocha.run();
});
// Test fixture for settings-internet-known-networks-page.
// eslint-disable-next-line no-var
var OSSettingsCellularSetupDialogTest =
......
......@@ -97,6 +97,7 @@ TEST_F('OSSettingsNearbyShareSubPageV3Test', 'All', () => mocha.run());
[['AmbientModePage', 'ambient_mode_page_test.m.js'],
['BluetoothPage', 'bluetooth_page_tests.m.js'],
['CellularNetworksList', 'cellular_networks_list_test.m.js'],
['CellularSetupDialog', 'cellular_setup_dialog_test.m.js'],
['DateTimePage', 'date_time_page_tests.m.js'],
['GoogleAssistantPage', 'google_assistant_page_test.m.js'],
......
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