Bug 1387221 - add test
MozReview-Commit-ID: 3C9sUno31l0
--- a/toolkit/components/payments/test/browser/browser_show_dialog.js
+++ b/toolkit/components/payments/test/browser/browser_show_dialog.js
@@ -46,8 +46,12 @@ add_task(async function test_show_manual
// abort the payment request manually
let frameLoader = win.document.getElementById("paymentRequestFrame").frameLoader;
await ContentTask.spawn(frameLoader, null, ContentTasks.manuallyClickCancel);
ok(win.closed, "dialog should be closed");
});
});
+
+add_task(async function test_AddressSelector_prePopulate() {
+ await setupAddressStorage();
+});
--- a/toolkit/components/payments/test/browser/head.js
+++ b/toolkit/components/payments/test/browser/head.js
@@ -9,27 +9,56 @@
*/
const BLANK_PAGE_URL = "https://example.com/browser/toolkit/components/" +
"payments/test/browser/blank_page.html";
const PREF_PAYMENT_ENABLED = "dom.payments.request.enabled";
const paymentUISrv = Cc["@mozilla.org/dom/payments/payment-ui-service;1"]
.getService().wrappedJSObject;
+const autofillAddresses = [{
+ "given-name": "John",
+ "additional-name": "R.",
+ "family-name": "Smith",
+ organization: "World Wide Web Consortium",
+ "street-address": "32 Vassar Street\nMIT Room 32-G524",
+ "address-level2": "Cambridge",
+ "address-level1": "MA",
+ "postal-code": "02139",
+ country: "US",
+ tel: "+16172535702",
+ email: "timbl@w3.org",
+}, {
+ "given-name": "Maurice",
+ "family-name": "Richard",
+ organization: "Moz",
+ "street-address": "333 evelyn Avenue\napt 123",
+ "address-level2": "Mountain View",
+ "address-level1": "CA",
+ "postal-code": "19283",
+ country: "US",
+ tel: "+16138675309",
+}];
async function getDialogWindow() {
let win;
await BrowserTestUtils.waitForCondition(() => {
win = Services.wm.getMostRecentWindow(null);
return win.name.startsWith(paymentUISrv.REQUEST_ID_PREFIX);
}, "payment dialog should be the most recent");
return win;
}
+async function setupAddressStorage(entries = autofillAddresses) {
+ for (let entry of entries) {
+ await profileStorage.addresses.add(entry);
+ }
+}
+
/**
* Common content tasks functions to be used with ContentTask.spawn.
*/
let ContentTasks = {
createAndShowRequest: async ({methodData, details, options}) => {
let rq = new content.PaymentRequest(methodData, details, options);
content.rq = rq; // assign it so we can retrieve it later
rq.show();