diff options
Diffstat (limited to 'toolkit/mozapps/extensions/test/browser/browser_html_abuse_report_dialog.js')
-rw-r--r-- | toolkit/mozapps/extensions/test/browser/browser_html_abuse_report_dialog.js | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/toolkit/mozapps/extensions/test/browser/browser_html_abuse_report_dialog.js b/toolkit/mozapps/extensions/test/browser/browser_html_abuse_report_dialog.js deleted file mode 100644 index 1efb28add3..0000000000 --- a/toolkit/mozapps/extensions/test/browser/browser_html_abuse_report_dialog.js +++ /dev/null @@ -1,185 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -/* eslint max-len: ["error", 80] */ - -loadTestSubscript("head_abuse_report.js"); - -add_setup(async function () { - // Make sure the integrated abuse report panel is the one enabled - // while this test file runs (instead of the AMO hosted form). - // NOTE: behaviors expected when amoFormEnabled is true are tested - // in the separate browser_amo_abuse_report.js test file. - await SpecialPowers.pushPrefEnv({ - set: [["extensions.abuseReport.amoFormEnabled", false]], - }); - await AbuseReportTestUtils.setup(); -}); - -/** - * Test tasks specific to the abuse report opened in its own dialog window. - */ - -add_task(async function test_close_icon_button_hidden_when_dialog() { - const addonId = "addon-to-report@mochi.test"; - const extension = await installTestExtension(addonId); - - const reportDialog = await AbuseReporter.openDialog( - addonId, - "menu", - gBrowser.selectedBrowser - ); - await AbuseReportTestUtils.promiseReportDialogRendered(); - - const panelEl = await reportDialog.promiseReportPanel; - - let promiseClosedWindow = waitClosedWindow(); - - EventUtils.synthesizeKey("VK_RETURN", {}, panelEl.ownerGlobal); - AbuseReportTestUtils.triggerSubmit("fake-reason", "fake-message"); - - await promiseClosedWindow; - ok( - await reportDialog.promiseReport, - "expect the report to not be cancelled by pressing enter" - ); - - await extension.unload(); -}); - -add_task(async function test_report_triggered_when_report_dialog_is_open() { - const addonId = "addon-to-report@mochi.test"; - const extension = await installTestExtension(addonId); - - const reportDialog = await AbuseReporter.openDialog( - addonId, - "menu", - gBrowser.selectedBrowser - ); - await AbuseReportTestUtils.promiseReportDialogRendered(); - - let promiseClosedWindow = waitClosedWindow(); - - const reportDialog2 = await AbuseReporter.openDialog( - addonId, - "menu", - gBrowser.selectedBrowser - ); - - await promiseClosedWindow; - - // Trigger the report submit and check that the second report is - // resolved as expected. - await AbuseReportTestUtils.promiseReportDialogRendered(); - - ok( - !reportDialog.window || reportDialog.window.closed, - "expect the first dialog to be closed" - ); - ok(!!reportDialog2.window, "expect the second dialog to be open"); - - is( - reportDialog2.window, - AbuseReportTestUtils.getReportDialog(), - "Got a report dialog as expected" - ); - - AbuseReportTestUtils.triggerSubmit("fake-reason", "fake-message"); - - // promiseReport is resolved to undefined if the report has been - // cancelled, otherwise it is resolved to a report object. - ok( - !(await reportDialog.promiseReport), - "expect the first report to be cancelled" - ); - ok( - !!(await reportDialog2.promiseReport), - "expect the second report to be resolved" - ); - - await extension.unload(); -}); - -add_task(async function test_report_dialog_window_closed_by_user() { - const addonId = "addon-to-report@mochi.test"; - const extension = await installTestExtension(addonId); - - const reportDialog = await AbuseReporter.openDialog( - addonId, - "menu", - gBrowser.selectedBrowser - ); - await AbuseReportTestUtils.promiseReportDialogRendered(); - - let promiseClosedWindow = waitClosedWindow(); - - reportDialog.close(); - - await promiseClosedWindow; - - ok( - !(await reportDialog.promiseReport), - "expect promiseReport to be resolved as user cancelled" - ); - - await extension.unload(); -}); - -add_task(async function test_amo_details_for_not_installed_addon() { - const addonId = "not-installed-addon@mochi.test"; - const fakeAMODetails = { - name: "fake name", - current_version: { version: "1.0" }, - type: "extension", - icon_url: "http://test.addons.org/asserts/fake-icon-url.png", - homepage: "http://fake.url/homepage", - support_url: "http://fake.url/support", - authors: [ - { name: "author1", url: "http://fake.url/author1" }, - { name: "author2", url: "http://fake.url/author2" }, - ], - is_recommended: true, - }; - - AbuseReportTestUtils.amoAddonDetailsMap.set(addonId, fakeAMODetails); - registerCleanupFunction(() => - AbuseReportTestUtils.amoAddonDetailsMap.clear() - ); - - const reportDialog = await AbuseReporter.openDialog( - addonId, - "menu", - gBrowser.selectedBrowser - ); - - const reportEl = await reportDialog.promiseReportPanel; - - // Assert that the panel has been able to retrieve from AMO - // all the addon details needed to render the panel correctly. - is(reportEl.addonId, addonId, "Got the expected addonId"); - is(reportEl.addonName, fakeAMODetails.name, "Got the expected addon name"); - is(reportEl.addonType, fakeAMODetails.type, "Got the expected addon type"); - is( - reportEl.authorName, - fakeAMODetails.authors[0].name, - "Got the first author name as expected" - ); - is( - reportEl.authorURL, - fakeAMODetails.authors[0].url, - "Got the first author url as expected" - ); - is(reportEl.iconURL, fakeAMODetails.icon_url, "Got the expected icon url"); - is( - reportEl.supportURL, - fakeAMODetails.support_url, - "Got the expected support url" - ); - is( - reportEl.homepageURL, - fakeAMODetails.homepage, - "Got the expected homepage url" - ); - - reportDialog.close(); -}); |