diff --git a/plugins/Marketplace/tests/UI/ManageLicense_spec.js b/plugins/Marketplace/tests/UI/ManageLicense_spec.js new file mode 100644 index 00000000000..f7582686a6e --- /dev/null +++ b/plugins/Marketplace/tests/UI/ManageLicense_spec.js @@ -0,0 +1,70 @@ +/*! + * Matomo - free/libre analytics platform + * + * Screenshot tests for Marketplace. + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +describe("ManageLicense", function () { + this.timeout(0); + + this.fixture = "Piwik\\Plugins\\Marketplace\\tests\\Fixtures\\SimpleFixtureTrackFewVisits"; + + const urlBase = '?module=Marketplace&action=manageLicenseKey'; + + async function captureSelector(screenshotName, selector) + { + await page.evaluate(function () { + $('#secondNavBar').css('visibility', 'hidden'); // hide navbar so shadow isn't shown on screenshot + }); + await page.waitForNetworkIdle(); + expect(await page.screenshotSelector(selector)).to.matchImage(screenshotName); + } + + it('should show manage license key page', async function () { + await page.goto(urlBase); + await page.mouse.move(-10, -10); + + await captureSelector('loaded', '.pageWrap,#notificationContainer'); + }); + + it('should not accept invalid license key', async function () { + await page.type('#license_key', 'invalid_key'); + await page.click('#submit_license_key input'); + + await captureSelector('invalid', '.pageWrap,#notificationContainer'); + }); + + it('should accept valid license key', async function () { + await page.goto(urlBase); + await page.type('#license_key', 'valid'); + await page.waitForTimeout(200); + + testEnvironment.consumer = 'validLicense'; + testEnvironment.mockMarketplaceApiService = 1; + testEnvironment.save(); + + await page.click('#submit_license_key input'); + + await captureSelector('valid', '.pageWrap,#notificationContainer'); + }); + + it('should show dialog before removing license', async function () { + await page.click('#remove_license_key input'); + + await captureSelector('remove_dialog', '.modal.open'); + }); + + it('should remove license on confirm', async function () { + delete testEnvironment.consumer; + delete testEnvironment.mockMarketplaceApiService; + testEnvironment.save(); + + const button = await page.jQuery('.modal.open .modal-footer a:contains(Yes)'); + await button.click(); + + await captureSelector('removed', '.pageWrap,#notificationContainer'); + }); +}); diff --git a/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_invalid.png b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_invalid.png new file mode 100644 index 00000000000..1e08c482c67 --- /dev/null +++ b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_invalid.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50814e822dae4c13d7dfcba1715ee465b943be76b0330307676f01cf924c86e4 +size 44064 diff --git a/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_loaded.png b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_loaded.png new file mode 100644 index 00000000000..36356223ce8 --- /dev/null +++ b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_loaded.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5865780e2c8f973ce5af18cfb1e6d8c8d296aab551c0e45fa8e46e1aa79e0d8 +size 38327 diff --git a/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_remove_dialog.png b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_remove_dialog.png new file mode 100644 index 00000000000..3f5fcafdc1b --- /dev/null +++ b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_remove_dialog.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7951e22e102ca621b1ee740df2d7bbc82ba5100e1e3029b3b76c6087839fab03 +size 13549 diff --git a/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_removed.png b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_removed.png new file mode 100644 index 00000000000..feee3a01f0f --- /dev/null +++ b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_removed.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51a29cee654cfe6f71c376a4e73eaf8604fb7675d93e0fc76ca6c43a707de795 +size 43850 diff --git a/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_valid.png b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_valid.png new file mode 100644 index 00000000000..b3a97596283 --- /dev/null +++ b/plugins/Marketplace/tests/UI/expected-screenshots/ManageLicense_valid.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8d3f47cf5b693d04625310f55733482890390cb44c92c83a24f683bf5663baf +size 46671