From c40b32e1974286e1e081e9fe53b3b703228263be Mon Sep 17 00:00:00 2001 From: Aleksej Date: Fri, 24 Jan 2025 14:25:55 +0100 Subject: [PATCH 1/4] Fix tests. --- .../KeyMetrics/hooks/useDisplayCTAWidget.test.js | 1 + .../AdBlockingRecoverySetupCTANotice.test.js | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/assets/js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js b/assets/js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js index bea68b12ae0..d9a3d3b6661 100644 --- a/assets/js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js +++ b/assets/js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js @@ -115,6 +115,7 @@ describe( 'useDisplayCTAWidget hook', () => { ); await waitForRegistry(); + expect( result.current ).toBe( false ); } ); diff --git a/assets/js/modules/adsense/components/settings/AdBlockingRecoverySetupCTANotice.test.js b/assets/js/modules/adsense/components/settings/AdBlockingRecoverySetupCTANotice.test.js index 4bafe94a4e0..18c2de0be11 100644 --- a/assets/js/modules/adsense/components/settings/AdBlockingRecoverySetupCTANotice.test.js +++ b/assets/js/modules/adsense/components/settings/AdBlockingRecoverySetupCTANotice.test.js @@ -207,10 +207,13 @@ describe( 'AdBlockingRecoverySetupCTANotice', () => { adBlockingRecoverySetupStatus: '', } ); - const { getByRole } = render( , { - registry, - viewContext: VIEW_CONTEXT_SETTINGS, - } ); + const { waitForRegistry, getByRole } = render( + , + { + registry, + viewContext: VIEW_CONTEXT_SETTINGS, + } + ); // eslint-disable-next-line require-await await act( async () => { fireEvent.click( getByRole( 'link', { name: /Learn more/i } ) ); @@ -221,6 +224,8 @@ describe( 'AdBlockingRecoverySetupCTANotice', () => { 'settings_adsense-abr-cta-widget', 'click_learn_more_link' ); + + await waitForRegistry(); } ); it( 'should trigger a survey when rendered', async () => { From 2ba2dbff51eee9011fa1278cca3cac82557fa232 Mon Sep 17 00:00:00 2001 From: Aleksej Date: Fri, 31 Jan 2025 14:06:54 +0100 Subject: [PATCH 2/4] Include additional await to allow for data to consolidate in useDisplayCTAWidget.test. --- .../js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js b/assets/js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js index d9a3d3b6661..1cef344900e 100644 --- a/assets/js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js +++ b/assets/js/components/KeyMetrics/hooks/useDisplayCTAWidget.test.js @@ -97,7 +97,7 @@ describe( 'useDisplayCTAWidget hook', () => { } ); it( 'should return false if the Analytics data is not available on load', async () => { - registry + await registry .dispatch( MODULES_ANALYTICS_4 ) .receiveIsDataAvailableOnLoad( false ); From 656d3b1fdfcbe4faa77e0f6f7d77d841d7b0fa9e Mon Sep 17 00:00:00 2001 From: Aleksej Date: Fri, 31 Jan 2025 14:07:50 +0100 Subject: [PATCH 3/4] Wait for registry in AdBlockingRecoverySetupCTAWidget.test. --- .../dashboard/AdBlockingRecoverySetupCTAWidget.test.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/assets/js/modules/adsense/components/dashboard/AdBlockingRecoverySetupCTAWidget.test.js b/assets/js/modules/adsense/components/dashboard/AdBlockingRecoverySetupCTAWidget.test.js index 85b9801ea7b..d1b78c2a968 100644 --- a/assets/js/modules/adsense/components/dashboard/AdBlockingRecoverySetupCTAWidget.test.js +++ b/assets/js/modules/adsense/components/dashboard/AdBlockingRecoverySetupCTAWidget.test.js @@ -254,7 +254,7 @@ describe( 'AdBlockingRecoverySetupCTAWidget', () => { } ); - it( 'should render the widget for the existing site without the setup completion time', () => { + it( 'should render the widget for the existing site without the setup completion time', async () => { registry .dispatch( MODULES_ADSENSE ) .receiveGetSettings( validSettings ); @@ -263,7 +263,7 @@ describe( 'AdBlockingRecoverySetupCTAWidget', () => { .dispatch( MODULES_ADSENSE ) .receiveGetExistingAdBlockingRecoveryTag( null ); - const { container } = render( + const { container, waitForRegistry } = render( { viewContext: VIEW_CONTEXT_MAIN_DASHBOARD, } ); + + await waitForRegistry(); + expect( container ).toHaveTextContent( 'Recover revenue lost to ad blockers' ); From fde4eec7cd968a0680f73f0735f27a140f668349 Mon Sep 17 00:00:00 2001 From: Aleksej Date: Fri, 31 Jan 2025 14:08:48 +0100 Subject: [PATCH 4/4] Wait for additional timeout to ensure error modal is shown. --- .../dashboard/AudienceTilesWidget/AudienceTile/index.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/modules/analytics-4/components/audience-segmentation/dashboard/AudienceTilesWidget/AudienceTile/index.test.js b/assets/js/modules/analytics-4/components/audience-segmentation/dashboard/AudienceTilesWidget/AudienceTile/index.test.js index 89332f406b8..694e04a1d3b 100644 --- a/assets/js/modules/analytics-4/components/audience-segmentation/dashboard/AudienceTilesWidget/AudienceTile/index.test.js +++ b/assets/js/modules/analytics-4/components/audience-segmentation/dashboard/AudienceTilesWidget/AudienceTile/index.test.js @@ -592,7 +592,7 @@ describe( 'AudienceTile', () => { ); // Allow the `trackEvent()` promise to resolve so the custom dimension creation logic can be executed. - await waitForDefaultTimeouts(); + await waitForTimeouts( 10 ); } ); } );