Index: chrome/test/data/webui/settings/settings_autofill_section_browsertest.js |
diff --git a/chrome/test/data/webui/settings/settings_autofill_section_browsertest.js b/chrome/test/data/webui/settings/settings_autofill_section_browsertest.js |
index 1f228594680161171de9a92ba21df959fbd53340..7f01a180d53a534455f4b4677bcd14ae0ce7fccb 100644 |
--- a/chrome/test/data/webui/settings/settings_autofill_section_browsertest.js |
+++ b/chrome/test/data/webui/settings/settings_autofill_section_browsertest.js |
@@ -433,6 +433,89 @@ TEST_F('SettingsAutofillSectionBrowserTest', 'CreditCardTests', function() { |
MockInteractions.tap(creditCardDialog.$.cancelButton); |
}); |
}); |
+ |
+ test('verifyLocalCreditCardMenu', function() { |
+ var creditCards = [FakeDataMaker.addressEntry()]; |
dpapad
2017/06/27 22:00:36
Shouldn't this be calling creditCardEntry()?
Also
hcarmona
2017/06/27 22:26:41
Yes, good catch.
|
+ |
+ // When CC is local, |isCached| will be undefined. |
+ creditCards[0].metadata.isLocal = true; |
+ creditCards[0].metadata.isCached = undefined; |
+ |
+ var section = self.createAutofillSection_([], creditCards); |
+ assertTrue(!!section); |
dpapad
2017/06/27 22:00:36
Is this assertion necessary? Can it ever fail?
hcarmona
2017/06/27 22:26:41
Removed here and elsewhere.
|
+ var creditCardList = section.$.creditCardList; |
+ assertTrue(!!creditCardList); |
+ assertEquals(2, creditCardList.children.length); // Template + Row. |
dpapad
2017/06/27 22:00:36
How about the following?
assertEquals(1, creditCar
hcarmona
2017/06/27 22:26:41
Done.
|
+ var row = creditCardList.children[0]; |
+ |
+ // Local CCs will show the overflow menu. |
+ assertFalse(!!row.querySelector('#remoteCreditCardLink')); |
+ var menuButton = row.querySelector('#creditCardMenu') |
+ assertTrue(!!menuButton); |
+ |
+ menuButton.click(); |
+ Polymer.dom.flush(); |
+ |
+ var ccMenu = section.$.creditCardSharedMenu; |
dpapad
2017/06/27 22:00:36
Avoid non established abbreviations (per styleguid
hcarmona
2017/06/27 22:26:41
Done.
|
+ |
+ // Menu should have 2 options. |
+ assertFalse(ccMenu.querySelector('#menuEditCreditCard').hidden); |
+ assertFalse(ccMenu.querySelector('#menuRemoveCreditCard').hidden); |
+ assertTrue(ccMenu.querySelector('#menuClearCreditCard').hidden); |
+ |
+ ccMenu.close(); |
+ Polymer.dom.flush(); |
+ }); |
+ |
+ test('verifyCachedCreditCardMenu', function() { |
+ var creditCards = [FakeDataMaker.addressEntry()]; |
+ |
+ creditCards[0].metadata.isLocal = false; |
+ creditCards[0].metadata.isCached = true; |
+ |
+ var section = self.createAutofillSection_([], creditCards); |
+ assertTrue(!!section); |
+ var creditCardList = section.$.creditCardList; |
+ assertTrue(!!creditCardList); |
+ assertEquals(2, creditCardList.children.length); // Template + Row. |
+ var row = creditCardList.children[0]; |
+ |
+ // Cached remote CCs will show overflow menu. |
+ assertFalse(!!row.querySelector('#remoteCreditCardLink')); |
+ var menuButton = row.querySelector('#creditCardMenu') |
+ assertTrue(!!menuButton); |
+ |
+ menuButton.click(); |
+ Polymer.dom.flush(); |
+ |
+ var ccMenu = section.$.creditCardSharedMenu; |
+ |
+ // Menu should have 2 options. |
+ assertFalse(ccMenu.querySelector('#menuEditCreditCard').hidden); |
+ assertTrue(ccMenu.querySelector('#menuRemoveCreditCard').hidden); |
+ assertFalse(ccMenu.querySelector('#menuClearCreditCard').hidden); |
+ |
+ ccMenu.close(); |
+ Polymer.dom.flush(); |
+ }); |
+ |
+ test('verifyNotCachedCreditCardMenu', function() { |
+ var creditCards = [FakeDataMaker.addressEntry()]; |
+ |
+ creditCards[0].metadata.isLocal = false; |
+ creditCards[0].metadata.isCached = false; |
+ |
+ var section = self.createAutofillSection_([], creditCards); |
+ assertTrue(!!section); |
+ var creditCardList = section.$.creditCardList; |
+ assertTrue(!!creditCardList); |
+ assertEquals(2, creditCardList.children.length); // Template + Row. |
+ var row = creditCardList.children[0]; |
+ |
+ // No overflow menu when not cached. |
+ assertTrue(!!row.querySelector('#remoteCreditCardLink')); |
+ assertFalse(!!row.querySelector('#creditCardMenu')); |
+ }); |
}); |
mocha.run(); |