From 0fa00ee33ed7501433fc7a414afd55ff8c8d7191 Mon Sep 17 00:00:00 2001 From: HJetpoluru Date: Tue, 24 Sep 2024 22:39:46 -0400 Subject: [PATCH 1/3] Added console statement and running only test --- test/e2e/tests/metrics/dapp-viewed.spec.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/e2e/tests/metrics/dapp-viewed.spec.js b/test/e2e/tests/metrics/dapp-viewed.spec.js index b9b4b08ca73e..e55e82c990a2 100644 --- a/test/e2e/tests/metrics/dapp-viewed.spec.js +++ b/test/e2e/tests/metrics/dapp-viewed.spec.js @@ -8,6 +8,7 @@ const { logInWithBalanceValidation, WINDOW_TITLES, defaultGanacheOptions, + tinyDelayMs, } = require('../../helpers'); const FixtureBuilder = require('../../fixture-builder'); const { @@ -160,7 +161,7 @@ describe('Dapp viewed Event @no-mmi', function () { ); }); - it('is sent when refreshing dapp with one account connected', async function () { + it.only('is sent when refreshing dapp with one account connected', async function () { async function mockSegment(mockServer) { return [ await mockedDappViewedEndpoint(mockServer), @@ -188,9 +189,11 @@ describe('Dapp viewed Event @no-mmi', function () { await waitForDappConnected(driver); // refresh dapp await driver.switchToWindowWithTitle(WINDOW_TITLES.TestDApp); + await driver.delay(tinyDelayMs); await driver.refresh(); const events = await getEventPayloads(driver, mockedEndpoints); + console.log(events); // events are original dapp viewed, new dapp viewed when refresh, and permission approved const dappViewedEventProperties = events[1].properties; From 54a2429a074764a570bea468bdaa953d3a49c0c7 Mon Sep 17 00:00:00 2001 From: HJetpoluru Date: Mon, 30 Sep 2024 22:54:20 -0400 Subject: [PATCH 2/3] Added additional mocks --- test/e2e/tests/metrics/dapp-viewed.spec.js | 56 ++++++++++++++++++---- 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/test/e2e/tests/metrics/dapp-viewed.spec.js b/test/e2e/tests/metrics/dapp-viewed.spec.js index e55e82c990a2..c46fecbe2d56 100644 --- a/test/e2e/tests/metrics/dapp-viewed.spec.js +++ b/test/e2e/tests/metrics/dapp-viewed.spec.js @@ -8,7 +8,6 @@ const { logInWithBalanceValidation, WINDOW_TITLES, defaultGanacheOptions, - tinyDelayMs, } = require('../../helpers'); const FixtureBuilder = require('../../fixture-builder'); const { @@ -28,6 +27,48 @@ async function mockedDappViewedEndpoint(mockServer) { }); } +async function mockedDappViewedEndpointFirstVisit(mockServer) { + return await mockServer + .forPost('https://api.segment.io/v1/batch') + .withJsonBodyIncluding({ + batch: [ + { + type: 'track', + event: MetaMetricsEventName.DappViewed, + properties: { + is_first_visit: true, + }, + }, + ], + }) + .thenCallback(() => { + return { + statusCode: 200, + }; + }); +} + +async function mockedDappViewedEndpointReVisit(mockServer) { + return await mockServer + .forPost('https://api.segment.io/v1/batch') + .withJsonBodyIncluding({ + batch: [ + { + type: 'track', + event: MetaMetricsEventName.DappViewed, + properties: { + is_first_visit: false, + }, + }, + ], + }) + .thenCallback(() => { + return { + statusCode: 200, + }; + }); +} + async function mockPermissionApprovedEndpoint(mockServer) { return await mockServer .forPost('https://api.segment.io/v1/batch') @@ -164,8 +205,8 @@ describe('Dapp viewed Event @no-mmi', function () { it.only('is sent when refreshing dapp with one account connected', async function () { async function mockSegment(mockServer) { return [ - await mockedDappViewedEndpoint(mockServer), - await mockedDappViewedEndpoint(mockServer), + await mockedDappViewedEndpointFirstVisit(mockServer), + await mockedDappViewedEndpointReVisit(mockServer), await mockPermissionApprovedEndpoint(mockServer), ]; } @@ -189,13 +230,12 @@ describe('Dapp viewed Event @no-mmi', function () { await waitForDappConnected(driver); // refresh dapp await driver.switchToWindowWithTitle(WINDOW_TITLES.TestDApp); - await driver.delay(tinyDelayMs); + // await driver.delay(tinyDelayMs); await driver.refresh(); + // await driver.delay(tinyDelayMs); + events = await getEventPayloads(driver, mockedEndpoints); - const events = await getEventPayloads(driver, mockedEndpoints); - console.log(events); - - // events are original dapp viewed, new dapp viewed when refresh, and permission approved + // events are original dapp viewed, navigate to dapp, new dapp viewed when refresh, new dapp viewed when navigate and permission approved const dappViewedEventProperties = events[1].properties; assert.equal(dappViewedEventProperties.is_first_visit, false); assert.equal(dappViewedEventProperties.number_of_accounts, 1); From 4dcfed487dcb1a5a314f67e39f02df6fe0a8cc91 Mon Sep 17 00:00:00 2001 From: HJetpoluru Date: Wed, 2 Oct 2024 17:24:23 -0400 Subject: [PATCH 3/3] Fixed the other tests --- test/e2e/tests/metrics/dapp-viewed.spec.js | 41 +++++++--------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/test/e2e/tests/metrics/dapp-viewed.spec.js b/test/e2e/tests/metrics/dapp-viewed.spec.js index c46fecbe2d56..78214685777e 100644 --- a/test/e2e/tests/metrics/dapp-viewed.spec.js +++ b/test/e2e/tests/metrics/dapp-viewed.spec.js @@ -14,19 +14,6 @@ const { MetaMetricsEventName, } = require('../../../../shared/constants/metametrics'); -async function mockedDappViewedEndpoint(mockServer) { - return await mockServer - .forPost('https://api.segment.io/v1/batch') - .withJsonBodyIncluding({ - batch: [{ type: 'track', event: MetaMetricsEventName.DappViewed }], - }) - .thenCallback(() => { - return { - statusCode: 200, - }; - }); -} - async function mockedDappViewedEndpointFirstVisit(mockServer) { return await mockServer .forPost('https://api.segment.io/v1/batch') @@ -109,7 +96,7 @@ describe('Dapp viewed Event @no-mmi', function () { const validFakeMetricsId = 'fake-metrics-fd20'; it('is not sent when metametrics ID is not valid', async function () { async function mockSegment(mockServer) { - return [await mockedDappViewedEndpoint(mockServer)]; + return [await mockedDappViewedEndpointFirstVisit(mockServer)]; } await withFixtures( @@ -135,7 +122,7 @@ describe('Dapp viewed Event @no-mmi', function () { it('is sent when navigating to dapp with no account connected', async function () { async function mockSegment(mockServer) { - return [await mockedDappViewedEndpoint(mockServer)]; + return [await mockedDappViewedEndpointFirstVisit(mockServer)]; } await withFixtures( @@ -167,8 +154,8 @@ describe('Dapp viewed Event @no-mmi', function () { it('is sent when opening the dapp in a new tab with one account connected', async function () { async function mockSegment(mockServer) { return [ - await mockedDappViewedEndpoint(mockServer), - await mockedDappViewedEndpoint(mockServer), + await mockedDappViewedEndpointFirstVisit(mockServer), + await mockedDappViewedEndpointReVisit(mockServer), await mockPermissionApprovedEndpoint(mockServer), ]; } @@ -202,7 +189,7 @@ describe('Dapp viewed Event @no-mmi', function () { ); }); - it.only('is sent when refreshing dapp with one account connected', async function () { + it('is sent when refreshing dapp with one account connected', async function () { async function mockSegment(mockServer) { return [ await mockedDappViewedEndpointFirstVisit(mockServer), @@ -230,10 +217,8 @@ describe('Dapp viewed Event @no-mmi', function () { await waitForDappConnected(driver); // refresh dapp await driver.switchToWindowWithTitle(WINDOW_TITLES.TestDApp); - // await driver.delay(tinyDelayMs); await driver.refresh(); - // await driver.delay(tinyDelayMs); - events = await getEventPayloads(driver, mockedEndpoints); + const events = await getEventPayloads(driver, mockedEndpoints); // events are original dapp viewed, navigate to dapp, new dapp viewed when refresh, new dapp viewed when navigate and permission approved const dappViewedEventProperties = events[1].properties; @@ -247,10 +232,10 @@ describe('Dapp viewed Event @no-mmi', function () { it('is sent when navigating to a connected dapp', async function () { async function mockSegment(mockServer) { return [ - await mockedDappViewedEndpoint(mockServer), - await mockedDappViewedEndpoint(mockServer), - await mockedDappViewedEndpoint(mockServer), - await mockedDappViewedEndpoint(mockServer), + await mockedDappViewedEndpointFirstVisit(mockServer), + await mockedDappViewedEndpointReVisit(mockServer), + await mockedDappViewedEndpointFirstVisit(mockServer), + await mockedDappViewedEndpointReVisit(mockServer), await mockPermissionApprovedEndpoint(mockServer), ]; } @@ -290,7 +275,7 @@ describe('Dapp viewed Event @no-mmi', function () { it('is sent when connecting dapp with two accounts', async function () { async function mockSegment(mockServer) { - return [await mockedDappViewedEndpoint(mockServer)]; + return [await mockedDappViewedEndpointFirstVisit(mockServer)]; } await withFixtures( { @@ -342,8 +327,8 @@ describe('Dapp viewed Event @no-mmi', function () { it('is sent when reconnect to a dapp that has been connected before', async function () { async function mockSegment(mockServer) { return [ - await mockedDappViewedEndpoint(mockServer), - await mockedDappViewedEndpoint(mockServer), + await mockedDappViewedEndpointFirstVisit(mockServer), + await mockedDappViewedEndpointReVisit(mockServer), ]; }