OLD | NEW |
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 Loading... |
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 Loading... |
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'); |
| 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 12 matching lines...) Expand all Loading... |
505 assertEquals(addressSummary, actualSummary); | 580 assertEquals(addressSummary, actualSummary); |
506 }); | 581 }); |
507 | 582 |
508 test('verifyAddressRowButtonIsDropdownWhenLocal', function() { | 583 test('verifyAddressRowButtonIsDropdownWhenLocal', function() { |
509 var address = FakeDataMaker.addressEntry(); | 584 var address = FakeDataMaker.addressEntry(); |
510 address.metadata.isLocal = true; | 585 address.metadata.isLocal = true; |
511 var section = self.createAutofillSection_([address], []); | 586 var section = self.createAutofillSection_([address], []); |
512 var addressList = section.$.addressList; | 587 var addressList = section.$.addressList; |
513 var row = addressList.children[0]; | 588 var row = addressList.children[0]; |
514 assertTrue(!!row); | 589 assertTrue(!!row); |
515 var menuButton = row.querySelector('#addressMenu') | 590 var menuButton = row.querySelector('#addressMenu'); |
516 assertTrue(!!menuButton); | 591 assertTrue(!!menuButton); |
517 var outlinkButton = row.querySelector('button.icon-external'); | 592 var outlinkButton = row.querySelector('button.icon-external'); |
518 assertFalse(!!outlinkButton); | 593 assertFalse(!!outlinkButton); |
519 }); | 594 }); |
520 | 595 |
521 test('verifyAddressRowButtonIsOutlinkWhenRemote', function() { | 596 test('verifyAddressRowButtonIsOutlinkWhenRemote', function() { |
522 var address = FakeDataMaker.addressEntry(); | 597 var address = FakeDataMaker.addressEntry(); |
523 address.metadata.isLocal = false; | 598 address.metadata.isLocal = false; |
524 var section = self.createAutofillSection_([address], []); | 599 var section = self.createAutofillSection_([address], []); |
525 var addressList = section.$.addressList; | 600 var addressList = section.$.addressList; |
526 var row = addressList.children[0]; | 601 var row = addressList.children[0]; |
527 assertTrue(!!row); | 602 assertTrue(!!row); |
528 var menuButton = row.querySelector('#addressMenu') | 603 var menuButton = row.querySelector('#addressMenu'); |
529 assertFalse(!!menuButton); | 604 assertFalse(!!menuButton); |
530 var outlinkButton = row.querySelector('button.icon-external'); | 605 var outlinkButton = row.querySelector('button.icon-external'); |
531 assertTrue(!!outlinkButton); | 606 assertTrue(!!outlinkButton); |
532 }); | 607 }); |
533 | 608 |
534 test('verifyAddAddressDialog', function() { | 609 test('verifyAddAddressDialog', function() { |
535 return self.createAddressDialog_( | 610 return self.createAddressDialog_( |
536 FakeDataMaker.emptyAddressEntry()).then(function(dialog) { | 611 FakeDataMaker.emptyAddressEntry()).then(function(dialog) { |
537 var title = dialog.$$('.title'); | 612 var title = dialog.$$('.title'); |
538 assertEquals(loadTimeData.getString('addAddressTitle'), | 613 assertEquals(loadTimeData.getString('addAddressTitle'), |
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 }); |
OLD | NEW |