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

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

Issue 2825153002: Update CUPS settings UI to allow USB printers to be added via discovery. (Closed)
Patch Set: Fixup overlooked test revealed by CQ. Created 3 years, 7 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
« no previous file with comments | « chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 /** 5 /**
6 * @constructor 6 * @constructor
7 * @implements {settings.CupsPrintersBrowserProxy} 7 * @implements {settings.CupsPrintersBrowserProxy}
8 * @extends {settings.TestBrowserProxy} 8 * @extends {settings.TestBrowserProxy}
9 */ 9 */
10 var TestCupsPrintersBrowserProxy = function() { 10 var TestCupsPrintersBrowserProxy = function() {
11 settings.TestBrowserProxy.call(this, [ 11 settings.TestBrowserProxy.call(this, [
12 'getCupsPrintersList', 12 'getCupsPrintersList',
13 'getCupsPrinterManufacturersList', 13 'getCupsPrinterManufacturersList',
14 'getCupsPrinterModelsList' 14 'getCupsPrinterModelsList',
15 'startDiscoveringPrinters',
16 'stopDiscoveringPrinters',
15 ]); 17 ]);
16 }; 18 };
17 19
18 TestCupsPrintersBrowserProxy.prototype = { 20 TestCupsPrintersBrowserProxy.prototype = {
19 __proto__: settings.TestBrowserProxy.prototype, 21 __proto__: settings.TestBrowserProxy.prototype,
20 22
21 printerList: [], 23 printerList: [],
22 manufacturers: [], 24 manufacturers: [],
23 models: [], 25 models: [],
24 26
25 /** @override */ 27 /** @override */
26 getCupsPrintersList: function() { 28 getCupsPrintersList: function() {
27 this.methodCalled('getCupsPrintersList'); 29 this.methodCalled('getCupsPrintersList');
28 return Promise.resolve(this.printerList); 30 return Promise.resolve(this.printerList);
29 }, 31 },
30 32
31 /** @override */ 33 /** @override */
32 getCupsPrinterManufacturersList: function() { 34 getCupsPrinterManufacturersList: function() {
33 this.methodCalled('getCupsPrinterManufacturersList'); 35 this.methodCalled('getCupsPrinterManufacturersList');
34 return Promise.resolve(this.manufacturers); 36 return Promise.resolve(this.manufacturers);
35 }, 37 },
36 38
37 /** @override */ 39 /** @override */
38 getCupsPrinterModelsList: function(manufacturer) { 40 getCupsPrinterModelsList: function(manufacturer) {
39 this.methodCalled('getCupsPrinterModelsList', manufacturer); 41 this.methodCalled('getCupsPrinterModelsList', manufacturer);
40 return Promise.resolve(this.models); 42 return Promise.resolve(this.models);
41 }, 43 },
44
45 /** @override */
46 startDiscoveringPrinters: function() {
47 this.methodCalled('startDiscoveringPrinters');
48 },
49
50 /** @override */
51 stopDiscoveringPrinters: function() {
52 this.methodCalled('stopDiscoveringPrinters');
53 },
42 }; 54 };
43 55
44 suite('CupsAddPrinterDialogTests', function() { 56 suite('CupsAddPrinterDialogTests', function() {
45 function fillDialog(addDialog) { 57 function fillAddManuallyDialog(addDialog) {
46 var name = addDialog.$$('#printerNameInput'); 58 var name = addDialog.$$('#printerNameInput');
47 var address = addDialog.$$('#printerAddressInput'); 59 var address = addDialog.$$('#printerAddressInput');
48 60
49 assertTrue(!!name); 61 assertTrue(!!name);
50 name.value = 'Test Printer'; 62 name.value = 'Test Printer';
51 63
52 assertTrue(!!address); 64 assertTrue(!!address);
53 address.value = '127.0.0.1'; 65 address.value = '127.0.0.1';
54 } 66 }
55 67
(...skipping 19 matching lines...) Expand all
75 Polymer.dom.flush(); 87 Polymer.dom.flush();
76 }); 88 });
77 89
78 teardown(function() { 90 teardown(function() {
79 page.remove(); 91 page.remove();
80 dialog = null; 92 dialog = null;
81 page = null; 93 page = null;
82 }); 94 });
83 95
84 /** 96 /**
85 * Test that the manual add dialog is showing. 97 * Test that the discovery dialog is showing when a user initially asks
98 * to add a printer.
86 */ 99 */
87 test('ManualAddShowing', function() { 100 test('DiscoveryShowing', function() {
88 assertFalse(!!dialog.$$('add-printer-manufacturer-model-dialog')); 101 assertFalse(!!dialog.$$('add-printer-manufacturer-model-dialog'));
89 assertFalse(!!dialog.$$('add-printer-configuring-dialog')); 102 assertFalse(!!dialog.$$('add-printer-configuring-dialog'));
90 assertTrue(!!dialog.$$('add-printer-manually-dialog')); 103 assertFalse(!!dialog.$$('add-printer-manually-dialog'));
104 assertTrue(!!dialog.$$('add-printer-discovery-dialog'));
91 }); 105 });
92 106
93 /** 107 /**
94 * Test that clicking on Add opens the model select page. 108 * Test that clicking on Add opens the model select page.
95 */ 109 */
96 test('ValidAddOpensModelSelection', function() { 110 test('ValidAddOpensModelSelection', function() {
111 // Starts in discovery dialog, select add manually button.
112 var discoveryDialog = dialog.$$('add-printer-discovery-dialog');
113 assertTrue(!!discoveryDialog);
114 MockInteractions.tap(discoveryDialog.$$('.secondary-button'));
115 Polymer.dom.flush();
116
117 // Now we should be in the manually add dialog.
97 var addDialog = dialog.$$('add-printer-manually-dialog'); 118 var addDialog = dialog.$$('add-printer-manually-dialog');
98 assertTrue(!!addDialog); 119 assertTrue(!!addDialog);
99 120
100 fillDialog(addDialog); 121 fillAddManuallyDialog(addDialog);
101 122
102 MockInteractions.tap(addDialog.$$('.action-button')); 123 MockInteractions.tap(addDialog.$$('.action-button'));
103 Polymer.dom.flush(); 124 Polymer.dom.flush();
104 125
105 // showing model selection 126 // showing model selection
106 assertFalse(!!dialog.$$('add-printer-configuring-dialog')); 127 assertFalse(!!dialog.$$('add-printer-configuring-dialog'));
107 assertTrue(!!dialog.$$('add-printer-manufacturer-model-dialog')); 128 assertTrue(!!dialog.$$('add-printer-manufacturer-model-dialog'));
108 }); 129 });
109 130
110 /** 131 /**
111 * Test that getModels isn't called with a blank query. 132 * Test that getModels isn't called with a blank query.
112 */ 133 */
113 test('NoBlankQueries', function() { 134 test('NoBlankQueries', function() {
135 var discoveryDialog = dialog.$$('add-printer-discovery-dialog');
136 assertTrue(!!discoveryDialog);
137 MockInteractions.tap(discoveryDialog.$$('.secondary-button'));
138 Polymer.dom.flush();
139
114 var addDialog = dialog.$$('add-printer-manually-dialog'); 140 var addDialog = dialog.$$('add-printer-manually-dialog');
115 assertTrue(!!addDialog); 141 assertTrue(!!addDialog);
116 fillDialog(addDialog); 142 fillAddManuallyDialog(addDialog);
117 143
118 cupsPrintersBrowserProxy.whenCalled('getCupsPrinterModelsList') 144 cupsPrintersBrowserProxy.whenCalled('getCupsPrinterModelsList')
119 .then(function(manufacturer) { assertGT(0, manufacturer.length); }); 145 .then(function(manufacturer) { assertGT(0, manufacturer.length); });
120 146
121 cupsPrintersBrowserProxy.manufacturers = 147 cupsPrintersBrowserProxy.manufacturers =
122 ['ManufacturerA', 'ManufacturerB', 'Chromites']; 148 ['ManufacturerA', 'ManufacturerB', 'Chromites'];
123 MockInteractions.tap(addDialog.$$('.action-button')); 149 MockInteractions.tap(addDialog.$$('.action-button'));
124 Polymer.dom.flush(); 150 Polymer.dom.flush();
125 151
126 var modelDialog = dialog.$$('add-printer-manufacturer-model-dialog'); 152 var modelDialog = dialog.$$('add-printer-manufacturer-model-dialog');
127 assertTrue(!!modelDialog); 153 assertTrue(!!modelDialog);
128 154
129 return cupsPrintersBrowserProxy.whenCalled( 155 return cupsPrintersBrowserProxy.whenCalled(
130 'getCupsPrinterManufacturersList'); 156 'getCupsPrinterManufacturersList');
131 }); 157 });
132 }); 158 });
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698