Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement/9846 fpm setup banner error handling #9969

Merged
merged 9 commits into from
Jan 10, 2025

Conversation

ankitrox
Copy link
Collaborator

@ankitrox ankitrox commented Jan 3, 2025

Summary

Addresses issue:

Relevant technical choices

PR Author Checklist

  • My code is tested and passes existing unit tests.
  • My code has an appropriate set of unit tests which all pass.
  • My code is backward-compatible with WordPress 5.2 and PHP 7.4.
  • My code follows the WordPress coding standards.
  • My code has proper inline documentation.
  • I have added a QA Brief on the issue linked above.
  • I have signed the Contributor License Agreement (see https://cla.developers.google.com/).

Do not alter or remove anything below. The following sections will be managed by moderators only.

Code Reviewer Checklist

  • Run the code.
  • Ensure the acceptance criteria are satisfied.
  • Reassess the implementation with the IB.
  • Ensure no unrelated changes are included.
  • Ensure CI checks pass.
  • Check Storybook where applicable.
  • Ensure there is a QA Brief.
  • Ensure there are no unexpected significant changes to file sizes.

Merge Reviewer Checklist

  • Ensure the PR has the correct target branch.
  • Double-check that the PR is okay to be merged.
  • Ensure the corresponding issue has a ZenHub release assigned.
  • Add a changelog message to the issue.

Copy link

github-actions bot commented Jan 3, 2025

Build files for b48a6ce have been deleted.

Copy link

github-actions bot commented Jan 3, 2025

Size Change: +1.12 kB (+0.06%)

Total Size: 1.99 MB

Filename Size Change
./dist/assets/js/37-********************.js 892 B -1 B (-0.11%)
./dist/assets/js/googlesitekit-activation-********************.js 24 kB +2 B (+0.01%)
./dist/assets/js/googlesitekit-ad-blocking-recovery-********************.js 54.2 kB +44 B (+0.08%)
./dist/assets/js/googlesitekit-adminbar-********************.js 34.8 kB -15 B (-0.04%)
./dist/assets/js/googlesitekit-components-gm3-********************.js 10.1 kB +1 B (+0.01%)
./dist/assets/js/googlesitekit-data-********************.js 2.37 kB +1 B (+0.04%)
./dist/assets/js/googlesitekit-datastore-forms-********************.js 8.97 kB +1 B (+0.01%)
./dist/assets/js/googlesitekit-datastore-location-********************.js 2.09 kB +1 B (+0.05%)
./dist/assets/js/googlesitekit-datastore-ui-********************.js 10 kB -2 B (-0.02%)
./dist/assets/js/googlesitekit-datastore-user-********************.js 28.2 kB -7 B (-0.02%)
./dist/assets/js/googlesitekit-entity-dashboard-********************.js 81.5 kB +12 B (+0.01%)
./dist/assets/js/googlesitekit-main-dashboard-********************.js 166 kB -28 B (-0.02%)
./dist/assets/js/googlesitekit-metric-selection-********************.js 52.1 kB +3 B (+0.01%)
./dist/assets/js/googlesitekit-modules-********************.js 22.4 kB -2 B (-0.01%)
./dist/assets/js/googlesitekit-modules-ads-********************.js 35.8 kB +33 B (+0.09%)
./dist/assets/js/googlesitekit-modules-adsense-********************.js 119 kB -35 B (-0.03%)
./dist/assets/js/googlesitekit-modules-analytics-4-********************.js 191 kB -35 B (-0.02%)
./dist/assets/js/googlesitekit-modules-pagespeed-insights-********************.js 22.6 kB +25 B (+0.11%)
./dist/assets/js/googlesitekit-modules-reader-revenue-manager-********************.js 43.2 kB -2 B (0%)
./dist/assets/js/googlesitekit-modules-search-console-********************.js 69.1 kB +8 B (+0.01%)
./dist/assets/js/googlesitekit-modules-sign-in-with-google-********************.js 31.6 kB +402 B (+1.29%)
./dist/assets/js/googlesitekit-modules-tagmanager-********************.js 32.4 kB +10 B (+0.03%)
./dist/assets/js/googlesitekit-notifications-********************.js 37.9 kB +658 B (+1.77%)
./dist/assets/js/googlesitekit-polyfills-********************.js 378 B +1 B (+0.27%)
./dist/assets/js/googlesitekit-settings-********************.js 127 kB +12 B (+0.01%)
./dist/assets/js/googlesitekit-splash-********************.js 68.7 kB +3 B (0%)
./dist/assets/js/googlesitekit-user-input-********************.js 43.9 kB +1 B (0%)
./dist/assets/js/googlesitekit-vendor-********************.js 323 kB +9 B (0%)
./dist/assets/js/googlesitekit-widgets-********************.js 102 kB +16 B (+0.02%)
./dist/assets/js/googlesitekit-wp-dashboard-********************.js 63.2 kB +3 B (0%)
./dist/assets/js/runtime-********************.js 1.4 kB +3 B (+0.21%)
ℹ️ View Unchanged
Filename Size
./dist/assets/css/googlesitekit-admin-css-********************.min.css 62.2 kB
./dist/assets/css/googlesitekit-adminbar-css-********************.min.css 11.8 kB
./dist/assets/css/googlesitekit-authorize-application-css-********************.min.css 846 B
./dist/assets/css/googlesitekit-wp-dashboard-css-********************.min.css 8.44 kB
./dist/assets/js/33-********************.js 2.76 kB
./dist/assets/js/34-********************.js 2.25 kB
./dist/assets/js/35-********************.js 3.64 kB
./dist/assets/js/36-********************.js 936 B
./dist/assets/js/38-********************.js 1.61 kB
./dist/assets/js/39-********************.js 1.57 kB
./dist/assets/js/40-********************.js 1.61 kB
./dist/assets/js/41-********************.js 1.59 kB
./dist/assets/js/42-********************.js 1.83 kB
./dist/assets/js/43-********************.js 3.12 kB
./dist/assets/js/analytics-advanced-tracking-********************.js 901 B
./dist/assets/js/googlesitekit-api-********************.js 10.1 kB
./dist/assets/js/googlesitekit-components-gm2-********************.js 6.18 kB
./dist/assets/js/googlesitekit-consent-mode-********************.js 25.6 kB
./dist/assets/js/googlesitekit-datastore-site-********************.js 20.3 kB
./dist/assets/js/googlesitekit-events-provider-contact-form-7-********************.js 646 B
./dist/assets/js/googlesitekit-events-provider-easy-digital-downloads-********************.js 624 B
./dist/assets/js/googlesitekit-events-provider-mailchimp-********************.js 630 B
./dist/assets/js/googlesitekit-events-provider-ninja-forms-********************.js 712 B
./dist/assets/js/googlesitekit-events-provider-optin-monster-********************.js 675 B
./dist/assets/js/googlesitekit-events-provider-popup-maker-********************.js 634 B
./dist/assets/js/googlesitekit-events-provider-woocommerce-********************.js 657 B
./dist/assets/js/googlesitekit-events-provider-wpforms-********************.js 633 B
./dist/assets/js/googlesitekit-i18n-********************.js 3.93 kB

compressed-size-action

Copy link
Collaborator

@hussain-t hussain-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, @ankitrox! This almost looks good. However, I've left a few comments to be addressed before we merge. To avoid an iteration, I will address the changes myself.

@@ -247,6 +247,47 @@ describe( 'FirstPartyModeSetupBanner', () => {
} );
} );

it( 'should display the error when CTA is clicked', async () => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make it more descriptive

Suggested change
it( 'should display the error when CTA is clicked', async () => {
should display the error message when the CTA button is clicked and the request fails

@@ -33,13 +33,16 @@ import { CORE_NOTIFICATIONS } from '../../datastore/constants';
import { CORE_LOCATION } from '../../../datastore/location/constants';
import useNotificationEvents from '../../hooks/useNotificationEvents';
import { SpinnerButton } from 'googlesitekit-components';
import { CORE_SITE } from '../../../datastore/site/constants';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move it below CORE_LOCATION

@@ -0,0 +1,53 @@
/**
* Site Kit by Google, Copyright 2024 Google LLC
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Site Kit by Google, Copyright 2024 Google LLC
* Site Kit by Google, Copyright 2025 Google LLC

Comment on lines 52 to 66
Default.args = {
setupRegistry: () => {
fetchMock.post(
new RegExp( '^/google-site-kit/v1/core/site/data/fpm-settings' ),
{
body: JSON.stringify( {
isEnabled: true,
isFPMHealthy: true,
isScriptAccessEnabled: true,
} ),
status: 200,
}
);
},
};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is unnecessary. We can remove it.

Suggested change
Default.args = {
setupRegistry: () => {
fetchMock.post(
new RegExp( '^/google-site-kit/v1/core/site/data/fpm-settings' ),
{
body: JSON.stringify( {
isEnabled: true,
isFPMHealthy: true,
isScriptAccessEnabled: true,
} ),
status: 200,
}
);
},
};

Comment on lines 73 to 85
fetchMock.post(
new RegExp( '^/google-site-kit/v1/core/site/data/fpm-settings' ),
{
body: JSON.stringify( {
code: 'test_error',
message: 'Test Error',
data: {
reason: 'test_reason',
},
} ),
status: 500,
}
);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fetchMock is unnecessary since we are mocking the error using receiveError below.

Suggested change
fetchMock.post(
new RegExp( '^/google-site-kit/v1/core/site/data/fpm-settings' ),
{
body: JSON.stringify( {
code: 'test_error',
message: 'Test Error',
data: {
reason: 'test_reason',
},
} ),
status: 500,
}
);


export default {
title: 'Modules/FirstPartyMode/Dashboard/FirstPartyModeSetupBanner',
decorators: [
( Story ) => {
( Story, { args } ) => {
fetchMock.restore();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove this.

Suggested change
fetchMock.restore();

Copy link
Collaborator

@hussain-t hussain-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, @ankitrox! LGTM 👍

Note: I've verified that the CI build failures are unrelated to this PR.

@hussain-t hussain-t merged commit c839573 into develop Jan 10, 2025
19 of 22 checks passed
@hussain-t hussain-t deleted the enhancement/9846-fpm-setup-banner-error-handling branch January 10, 2025 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants