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

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

Issue 2959023003: MD-Settings: Create tests for edit options in Credit Cards. (Closed)
Patch Set: feedback Created 3 years, 5 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/resources/settings/passwords_and_forms_page/autofill_section.html ('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 /** @fileoverview Runs the Polymer Autofill Settings tests. */ 5 /** @fileoverview Runs the Polymer Autofill Settings tests. */
6 6
7 /** @const {string} Path to root from chrome/test/data/webui/settings/. */ 7 /** @const {string} Path to root from chrome/test/data/webui/settings/. */
8 var ROOT_PATH = '../../../../../'; 8 var ROOT_PATH = '../../../../../';
9 9
10 // Polymer BrowserTest fixture. 10 // Polymer BrowserTest fixture.
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 settings.address.CountryDetailManagerImpl.instance_ = 197 settings.address.CountryDetailManagerImpl.instance_ =
198 new CountryDetailManagerTestImpl(); 198 new CountryDetailManagerTestImpl();
199 }); 199 });
200 200
201 setup(function() { 201 setup(function() {
202 PolymerTest.clearBody(); 202 PolymerTest.clearBody();
203 }); 203 });
204 204
205 test('verifyCreditCardCount', function() { 205 test('verifyCreditCardCount', function() {
206 var section = self.createAutofillSection_([], []); 206 var section = self.createAutofillSection_([], []);
207 assertTrue(!!section);
208 207
209 var creditCardList = section.$.creditCardList; 208 var creditCardList = section.$.creditCardList;
210 assertTrue(!!creditCardList); 209 assertTrue(!!creditCardList);
211 // +1 for the template element. 210 assertEquals(0, creditCardList.querySelectorAll('.list-item').length);
212 assertEquals(1, creditCardList.children.length);
213 211
214 assertFalse(section.$.noCreditCardsLabel.hidden); 212 assertFalse(section.$.noCreditCardsLabel.hidden);
215 assertTrue(section.$.creditCardsHeading.hidden); 213 assertTrue(section.$.creditCardsHeading.hidden);
216 }); 214 });
217 215
218 test('verifyCreditCardCount', function() { 216 test('verifyCreditCardCount', function() {
219 var creditCards = [ 217 var creditCards = [
220 FakeDataMaker.creditCardEntry(), 218 FakeDataMaker.creditCardEntry(),
221 FakeDataMaker.creditCardEntry(), 219 FakeDataMaker.creditCardEntry(),
222 FakeDataMaker.creditCardEntry(), 220 FakeDataMaker.creditCardEntry(),
223 FakeDataMaker.creditCardEntry(), 221 FakeDataMaker.creditCardEntry(),
224 FakeDataMaker.creditCardEntry(), 222 FakeDataMaker.creditCardEntry(),
225 FakeDataMaker.creditCardEntry(), 223 FakeDataMaker.creditCardEntry(),
226 ]; 224 ];
227 225
228 var section = self.createAutofillSection_([], creditCards); 226 var section = self.createAutofillSection_([], creditCards);
229 227
230 assertTrue(!!section);
231 var creditCardList = section.$.creditCardList; 228 var creditCardList = section.$.creditCardList;
232 assertTrue(!!creditCardList); 229 assertTrue(!!creditCardList);
233 // +1 for the template element. 230 assertEquals(creditCards.length,
234 assertEquals(creditCards.length + 1, creditCardList.children.length); 231 creditCardList.querySelectorAll('.list-item').length);
235 232
236 assertTrue(section.$.noCreditCardsLabel.hidden); 233 assertTrue(section.$.noCreditCardsLabel.hidden);
237 assertFalse(section.$.creditCardsHeading.hidden); 234 assertFalse(section.$.creditCardsHeading.hidden);
238 }); 235 });
239 236
240 test('verifyCreditCardFields', function() { 237 test('verifyCreditCardFields', function() {
241 var creditCard = FakeDataMaker.creditCardEntry(); 238 var creditCard = FakeDataMaker.creditCardEntry();
242 var section = self.createAutofillSection_([], [creditCard]); 239 var section = self.createAutofillSection_([], [creditCard]);
243 var creditCardList = section.$.creditCardList; 240 var creditCardList = section.$.creditCardList;
244 var row = creditCardList.children[0]; 241 var row = creditCardList.children[0];
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 423
427 creditCardDialog.addEventListener('close', function() { 424 creditCardDialog.addEventListener('close', function() {
428 // Test is |done| in a timeout in order to ensure that 425 // Test is |done| in a timeout in order to ensure that
429 // 'save-credit-card' is NOT fired after this test. 426 // 'save-credit-card' is NOT fired after this test.
430 window.setTimeout(done, 100); 427 window.setTimeout(done, 100);
431 }); 428 });
432 429
433 MockInteractions.tap(creditCardDialog.$.cancelButton); 430 MockInteractions.tap(creditCardDialog.$.cancelButton);
434 }); 431 });
435 }); 432 });
433
434 test('verifyLocalCreditCardMenu', function() {
435 var creditCard = FakeDataMaker.creditCardEntry();
436
437 // When credit card is local, |isCached| will be undefined.
438 creditCard.metadata.isLocal = true;
439 creditCard.metadata.isCached = undefined;
440
441 var section = self.createAutofillSection_([], [creditCard]);
442 var creditCardList = section.$.creditCardList;
443 assertTrue(!!creditCardList);
444 assertEquals(1, creditCardList.querySelectorAll('.list-item').length);
445 var row = creditCardList.children[0];
446
447 // Local credit cards will show the overflow menu.
448 assertFalse(!!row.querySelector('#remoteCreditCardLink'));
449 var menuButton = row.querySelector('#creditCardMenu')
dpapad 2017/06/27 23:28:20 Semicolon missing
hcarmona 2017/06/28 17:43:12 Fixed here and elsewhere.
450 assertTrue(!!menuButton);
451
452 menuButton.click();
453 Polymer.dom.flush();
454
455 var menu = section.$.creditCardSharedMenu;
456
457 // Menu should have 2 options.
458 assertFalse(menu.querySelector('#menuEditCreditCard').hidden);
459 assertFalse(menu.querySelector('#menuRemoveCreditCard').hidden);
460 assertTrue(menu.querySelector('#menuClearCreditCard').hidden);
461
462 menu.close();
463 Polymer.dom.flush();
464 });
465
466 test('verifyCachedCreditCardMenu', function() {
467 var creditCard = FakeDataMaker.creditCardEntry();
468
469 creditCard.metadata.isLocal = false;
470 creditCard.metadata.isCached = true;
471
472 var section = self.createAutofillSection_([], [creditCard]);
473 var creditCardList = section.$.creditCardList;
474 assertTrue(!!creditCardList);
475 assertEquals(1, creditCardList.querySelectorAll('.list-item').length);
476 var row = creditCardList.children[0];
477
478 // Cached remote CCs will show overflow menu.
479 assertFalse(!!row.querySelector('#remoteCreditCardLink'));
480 var menuButton = row.querySelector('#creditCardMenu')
481 assertTrue(!!menuButton);
482
483 menuButton.click();
484 Polymer.dom.flush();
485
486 var menu = section.$.creditCardSharedMenu;
487
488 // Menu should have 2 options.
489 assertFalse(menu.querySelector('#menuEditCreditCard').hidden);
490 assertTrue(menu.querySelector('#menuRemoveCreditCard').hidden);
491 assertFalse(menu.querySelector('#menuClearCreditCard').hidden);
492
493 menu.close();
494 Polymer.dom.flush();
495 });
496
497 test('verifyNotCachedCreditCardMenu', function() {
498 var creditCard = FakeDataMaker.creditCardEntry();
499
500 creditCard.metadata.isLocal = false;
501 creditCard.metadata.isCached = false;
502
503 var section = self.createAutofillSection_([], [creditCard]);
504 var creditCardList = section.$.creditCardList;
505 assertTrue(!!creditCardList);
506 assertEquals(1, creditCardList.querySelectorAll('.list-item').length);
507 var row = creditCardList.children[0];
508
509 // No overflow menu when not cached.
510 assertTrue(!!row.querySelector('#remoteCreditCardLink'));
511 assertFalse(!!row.querySelector('#creditCardMenu'));
512 });
436 }); 513 });
437 514
438 mocha.run(); 515 mocha.run();
439 }); 516 });
440 517
441 TEST_F('SettingsAutofillSectionBrowserTest', 'AddressTests', function() { 518 TEST_F('SettingsAutofillSectionBrowserTest', 'AddressTests', function() {
442 var self = this; 519 var self = this;
443 520
444 521
445 suite('AutofillSection', function() { 522 suite('AutofillSection', function() {
446 suiteSetup(function() { 523 suiteSetup(function() {
447 settings.address.CountryDetailManagerImpl.instance_ = 524 settings.address.CountryDetailManagerImpl.instance_ =
448 new CountryDetailManagerTestImpl(); 525 new CountryDetailManagerTestImpl();
449 }); 526 });
450 527
451 setup(function() { 528 setup(function() {
452 PolymerTest.clearBody(); 529 PolymerTest.clearBody();
453 }); 530 });
454 531
455 test('verifyNoAddresses', function() { 532 test('verifyNoAddresses', function() {
456 var section = self.createAutofillSection_([], []); 533 var section = self.createAutofillSection_([], []);
457 assertTrue(!!section);
458 534
459 var addressList = section.$.addressList; 535 var addressList = section.$.addressList;
460 assertTrue(!!addressList); 536 assertTrue(!!addressList);
461 // 1 for the template element. 537 // 1 for the template element.
462 assertEquals(1, addressList.children.length); 538 assertEquals(1, addressList.children.length);
463 539
464 assertFalse(section.$.noAddressesLabel.hidden); 540 assertFalse(section.$.noAddressesLabel.hidden);
465 }); 541 });
466 542
467 test('verifyAddressCount', function() { 543 test('verifyAddressCount', function() {
468 var addresses = [ 544 var addresses = [
469 FakeDataMaker.addressEntry(), 545 FakeDataMaker.addressEntry(),
470 FakeDataMaker.addressEntry(), 546 FakeDataMaker.addressEntry(),
471 FakeDataMaker.addressEntry(), 547 FakeDataMaker.addressEntry(),
472 FakeDataMaker.addressEntry(), 548 FakeDataMaker.addressEntry(),
473 FakeDataMaker.addressEntry(), 549 FakeDataMaker.addressEntry(),
474 ]; 550 ];
475 551
476 var section = self.createAutofillSection_(addresses, []); 552 var section = self.createAutofillSection_(addresses, []);
477 553
478 assertTrue(!!section);
479 var addressList = section.$.addressList; 554 var addressList = section.$.addressList;
480 assertTrue(!!addressList); 555 assertTrue(!!addressList);
481 // +1 for the template element. 556 assertEquals(addresses.length,
482 assertEquals(addresses.length + 1, addressList.children.length); 557 addressList.querySelectorAll('.list-item').length);
483 558
484 assertTrue(section.$.noAddressesLabel.hidden); 559 assertTrue(section.$.noAddressesLabel.hidden);
485 }); 560 });
486 561
487 test('verifyAddressFields', function() { 562 test('verifyAddressFields', function() {
488 var address = FakeDataMaker.addressEntry(); 563 var address = FakeDataMaker.addressEntry();
489 var section = self.createAutofillSection_([address], []); 564 var section = self.createAutofillSection_([address], []);
490 var addressList = section.$.addressList; 565 var addressList = section.$.addressList;
491 var row = addressList.children[0]; 566 var row = addressList.children[0];
492 assertTrue(!!row); 567 assertTrue(!!row);
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 assertEquals(city, cols[0].value); 1029 assertEquals(city, cols[0].value);
955 assertEquals(state, cols[1].value); 1030 assertEquals(state, cols[1].value);
956 assertEquals(zip, cols[2].value); 1031 assertEquals(zip, cols[2].value);
957 }); 1032 });
958 }); 1033 });
959 }); 1034 });
960 }); 1035 });
961 1036
962 mocha.run(); 1037 mocha.run();
963 }); 1038 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698