Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: chrome/test/data/webui/settings/internet_page_tests.js

Issue 2720503006: MD Settings: Internet: Move network lists to a subpage (Closed)
Patch Set: Rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 suite('Internet', function() { 5 suite('Internet', function() {
6 /** @type {InternetPageElement} */ 6 /** @type {InternetPageElement} */
7 var internetPage = null; 7 var internetPage = null;
8 8
9 /** @type {NetworkSummaryElement} */ 9 /** @type {NetworkSummaryElement} */
10 var networkSummary_ = null; 10 var networkSummary_ = null;
11 11
12 /** @type {NetworkingPrivate} */ 12 /** @type {NetworkingPrivate} */
13 var networkingPrivateApi_; 13 var api_;
14 14
15 suiteSetup(function() { 15 suiteSetup(function() {
16 loadTimeData.overrideValues({ 16 loadTimeData.overrideValues({
17 internetAddConnection: 'internetAddConnection', 17 internetAddConnection: 'internetAddConnection',
18 internetAddConnectionExpandA11yLabel: 18 internetAddConnectionExpandA11yLabel:
19 'internetAddConnectionExpandA11yLabel', 19 'internetAddConnectionExpandA11yLabel',
20 internetAddConnectionNotAllowed: 'internetAddConnectionNotAllowed', 20 internetAddConnectionNotAllowed: 'internetAddConnectionNotAllowed',
21 internetAddThirdPartyVPN: 'internetAddThirdPartyVPN', 21 internetAddThirdPartyVPN: 'internetAddThirdPartyVPN',
22 internetAddVPN: 'internetAddVPN', 22 internetAddVPN: 'internetAddVPN',
23 internetAddWiFi: 'internetAddWiFi', 23 internetAddWiFi: 'internetAddWiFi',
24 internetDetailPageTitle: 'internetDetailPageTitle', 24 internetDetailPageTitle: 'internetDetailPageTitle',
25 internetKnownNetworksPageTitle: 'internetKnownNetworksPageTitle', 25 internetKnownNetworksPageTitle: 'internetKnownNetworksPageTitle',
26 }); 26 });
27 27
28 CrOncStrings = { 28 CrOncStrings = {
29 OncTypeCellular: 'OncTypeCellular', 29 OncTypeCellular: 'OncTypeCellular',
30 OncTypeEthernet: 'OncTypeEthernet', 30 OncTypeEthernet: 'OncTypeEthernet',
31 OncTypeVPN: 'OncTypeVPN', 31 OncTypeVPN: 'OncTypeVPN',
32 OncTypeWiFi: 'OncTypeWiFi', 32 OncTypeWiFi: 'OncTypeWiFi',
33 OncTypeWiMAX: 'OncTypeWiMAX', 33 OncTypeWiMAX: 'OncTypeWiMAX',
34 networkDisabled: 'networkDisabled', 34 networkDisabled: 'networkDisabled',
35 networkListItemConnected: 'networkListItemConnected', 35 networkListItemConnected: 'networkListItemConnected',
36 networkListItemConnecting: 'networkListItemConnecting', 36 networkListItemConnecting: 'networkListItemConnecting',
37 networkListItemConnectingTo: 'networkListItemConnectingTo', 37 networkListItemConnectingTo: 'networkListItemConnectingTo',
38 networkListItemNotConnected: 'networkListItemNotConnected', 38 networkListItemNotConnected: 'networkListItemNotConnected',
39 vpnNameTemplate: 'vpnNameTemplate', 39 vpnNameTemplate: 'vpnNameTemplate',
40 }; 40 };
41 41
42 networkingPrivateApi_ = new settings.FakeNetworkingPrivate(); 42 api_ = new settings.FakeNetworkingPrivate();
43 43
44 // Disable animations so sub-pages open within one event loop. 44 // Disable animations so sub-pages open within one event loop.
45 testing.Test.disableAnimationsAndTransitions(); 45 testing.Test.disableAnimationsAndTransitions();
46 }); 46 });
47 47
48 setup(function() {
49 PolymerTest.clearBody();
50 internetPage = document.createElement('settings-internet-page');
51 assertTrue(!!internetPage);
52 api_.resetForTest();
53 internetPage.networkingPrivate = api_;
54 document.body.appendChild(internetPage);
55 networkSummary_ = internetPage.$$('network-summary');
56 assertTrue(!!networkSummary_);
57 Polymer.dom.flush();
58 });
59
60 teardown(function() {
61 internetPage.remove();
62 });
63
48 suite('MainPage', function() { 64 suite('MainPage', function() {
49 setup(function() {
50 PolymerTest.clearBody();
51 internetPage = document.createElement('settings-internet-page');
52 assertTrue(!!internetPage);
53 networkingPrivateApi_.resetForTest();
54 internetPage.networkingPrivate = networkingPrivateApi_;
55 document.body.appendChild(internetPage);
56 networkSummary_ = internetPage.$$('network-summary');
57 assertTrue(!!networkSummary_);
58 Polymer.dom.flush();
59 });
60
61 teardown(function() {
62 internetPage.remove();
63 });
64
65 test('Ethernet', function() { 65 test('Ethernet', function() {
66 // Default fake device state is Ethernet enabled only. 66 // Default fake device state is Ethernet enabled only.
67 var ethernet = networkSummary_.$$('#Ethernet'); 67 var ethernet = networkSummary_.$$('#Ethernet');
68 assertTrue(!!ethernet); 68 assertTrue(!!ethernet);
69 assertEquals(1, ethernet.networkStateList.length); 69 assertEquals(1, ethernet.networkStateList.length);
70 assertEquals(null, networkSummary_.$$('#Cellular')); 70 assertEquals(null, networkSummary_.$$('#Cellular'));
71 assertEquals(null, networkSummary_.$$('#VPN')); 71 assertEquals(null, networkSummary_.$$('#VPN'));
72 assertEquals(null, networkSummary_.$$('#WiMAX')); 72 assertEquals(null, networkSummary_.$$('#WiMAX'));
73 assertEquals(null, networkSummary_.$$('#WiFi')); 73 assertEquals(null, networkSummary_.$$('#WiFi'));
74 }); 74 });
75 75
76 test('WiFi', function() { 76 test('WiFi', function() {
77 networkingPrivateApi_.addNetworksForTest([ 77 api_.addNetworksForTest([
78 {GUID: 'wifi1_guid', Name: 'wifi1', Type: 'WiFi'}, 78 {GUID: 'wifi1_guid', Name: 'wifi1', Type: 'WiFi'},
79 {GUID: 'wifi12_guid', Name: 'wifi2', Type: 'WiFi'}, 79 {GUID: 'wifi12_guid', Name: 'wifi2', Type: 'WiFi'},
80 ]); 80 ]);
81 networkingPrivateApi_.enableNetworkType('WiFi'); 81 api_.enableNetworkType('WiFi');
82 Polymer.dom.flush(); 82 Polymer.dom.flush();
83 var wifi = networkSummary_.$$('#WiFi'); 83 var wifi = networkSummary_.$$('#WiFi');
84 assertTrue(!!wifi); 84 assertTrue(!!wifi);
85 assertEquals(2, wifi.networkStateList.length); 85 assertEquals(2, wifi.networkStateList.length);
86 }); 86 });
87 87
88 test('WiFiToggle', function() { 88 test('WiFiToggle', function() {
89 var api = networkingPrivateApi_;
90
91 // Make WiFi an available but disabled technology. 89 // Make WiFi an available but disabled technology.
92 api.disableNetworkType('WiFi'); 90 api_.disableNetworkType('WiFi');
93 Polymer.dom.flush(); 91 Polymer.dom.flush();
94 var wifi = networkSummary_.$$('#WiFi'); 92 var wifi = networkSummary_.$$('#WiFi');
95 assertTrue(!!wifi); 93 assertTrue(!!wifi);
96 94
97 // Ensure that the initial state is disabled and the toggle is 95 // Ensure that the initial state is disabled and the toggle is
98 // enabled but unchecked. 96 // enabled but unchecked.
99 assertEquals('Disabled', api.getDeviceStateForTest('WiFi').State); 97 assertEquals('Disabled', api_.getDeviceStateForTest('WiFi').State);
100 var toggle = wifi.$$('#deviceEnabledButton'); 98 var toggle = wifi.$$('#deviceEnabledButton');
101 assertTrue(!!toggle); 99 assertTrue(!!toggle);
102 assertTrue(toggle.enabled); 100 assertTrue(toggle.enabled);
103 assertFalse(toggle.checked); 101 assertFalse(toggle.checked);
104 102
105 // Tap the enable toggle button and ensure the state becomes enabled. 103 // Tap the enable toggle button and ensure the state becomes enabled.
106 MockInteractions.tap(toggle); 104 MockInteractions.tap(toggle);
107 Polymer.dom.flush(); 105 Polymer.dom.flush();
108 assertTrue(toggle.checked); 106 assertTrue(toggle.checked);
109 assertEquals('Enabled', api.getDeviceStateForTest('WiFi').State); 107 assertEquals('Enabled', api_.getDeviceStateForTest('WiFi').State);
108 });
109 });
110
111 suite('SubPage', function() {
112 test('WiFi', function() {
113 api_.addNetworksForTest([
114 {GUID: 'wifi1_guid', Name: 'wifi1', Type: 'WiFi'},
115 {GUID: 'wifi12_guid', Name: 'wifi2', Type: 'WiFi'},
116 ]);
117 api_.enableNetworkType('WiFi');
118 Polymer.dom.flush();
119 var wifi = networkSummary_.$$('#WiFi');
120 assertTrue(!!wifi);
121 MockInteractions.tap(wifi.$$('button.subpage-arrow'));
122 var subpage = internetPage.$$('settings-internet-subpage');
123 assertTrue(!!subpage);
124 assertEquals(2, subpage.networkStateList_.length);
125 var networkList = subpage.$$('#networkList');
126 assertTrue(!!networkList);
127 assertEquals(2, networkList.networks.length);
128 });
129
130 test('VPN', function() {
131 api_.addNetworksForTest([
132 {GUID: 'vpn1_guid', Name: 'vpn1', Type: 'VPN'},
133 {GUID: 'vpn2_guid', Name: 'vpn1', Type: 'VPN'},
134 {
135 GUID: 'third_party1_vpn1_guid',
136 Name: 'vpn3',
137 Type: 'VPN',
138 VPN: {
139 Type: 'ThirdPartyVPN',
140 ThirdPartyVPN: {ExtensionID: 'id1', ProviderName: 'pname1'}
141 }
142 },
143 {
144 GUID: 'third_party1_vpn2_guid',
145 Name: 'vpn4',
146 Type: 'VPN',
147 VPN: {
148 Type: 'ThirdPartyVPN',
149 ThirdPartyVPN: {ExtensionID: 'id1', ProviderName: 'pname1'}
150 }
151 },
152 {
153 GUID: 'third_party2_vpn1_guid',
154 Name: 'vpn5',
155 Type: 'VPN',
156 VPN: {
157 Type: 'ThirdPartyVPN',
158 ThirdPartyVPN: {ExtensionID: 'id2', ProviderName: 'pname2'}
159 }
160 },
161 ]);
162 api_.onNetworkListChanged.callListeners();
163 Polymer.dom.flush();
164 var vpn = networkSummary_.$$('#VPN');
165 assertTrue(!!vpn);
166 MockInteractions.tap(vpn.$$('button.subpage-arrow'));
167 var subpage = internetPage.$$('settings-internet-subpage');
168 assertTrue(!!subpage);
169 assertEquals(2, subpage.networkStateList_.length);
170 var networkList = subpage.$$('#networkList');
171 assertTrue(!!networkList);
172 assertEquals(2, networkList.networks.length);
173 // TODO(stevenjb): Implement fake management API and test third
174 // party provider sections.
110 }); 175 });
111 }); 176 });
112 }); 177 });
OLDNEW
« no previous file with comments | « chrome/test/data/webui/settings/fake_networking_private.js ('k') | ui/webui/resources/cr_elements/network/cr_network_icon.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698