diff --git a/assets/js/modules/reader-revenue-manager/components/dashboard/PublicationApprovedOverlayNotification.js b/assets/js/modules/reader-revenue-manager/components/dashboard/PublicationApprovedOverlayNotification.js
index 6204ba8d821..3029453e67d 100644
--- a/assets/js/modules/reader-revenue-manager/components/dashboard/PublicationApprovedOverlayNotification.js
+++ b/assets/js/modules/reader-revenue-manager/components/dashboard/PublicationApprovedOverlayNotification.js
@@ -125,6 +125,7 @@ export default function PublicationApprovedOverlayNotification() {
}
target="_blank"
>
diff --git a/assets/js/modules/reader-revenue-manager/components/dashboard/PublicationApprovedOverlayNotification.test.js b/assets/js/modules/reader-revenue-manager/components/dashboard/PublicationApprovedOverlayNotification.test.js
index cdc0efd94cb..164f8af9f25 100644
--- a/assets/js/modules/reader-revenue-manager/components/dashboard/PublicationApprovedOverlayNotification.test.js
+++ b/assets/js/modules/reader-revenue-manager/components/dashboard/PublicationApprovedOverlayNotification.test.js
@@ -16,11 +16,21 @@
* limitations under the License.
*/
+/**
+ * External dependencies
+ */
+import fetchMock from 'fetch-mock';
+
/**
* Internal dependencies
*/
import { createTestRegistry } from '../../../../../../tests/js/utils';
-import { render } from '../../../../../../tests/js/test-utils';
+import {
+ act,
+ fireEvent,
+ render,
+ waitForDefaultTimeouts,
+} from '../../../../../../tests/js/test-utils';
import PublicationApprovedOverlayNotification, {
RRM_PUBLICATION_APPROVED_OVERLAY_NOTIFICATION,
} from './PublicationApprovedOverlayNotification';
@@ -36,6 +46,10 @@ import { CORE_USER } from '../../../../googlesitekit/datastore/user/constants';
describe( 'PublicationApprovedOverlayNotification', () => {
let registry;
+ const dismissItemsEndpoint = new RegExp(
+ '^/google-site-kit/v1/core/user/data/dismiss-item'
+ );
+
beforeEach( () => {
registry = createTestRegistry();
registry
@@ -127,4 +141,35 @@ describe( 'PublicationApprovedOverlayNotification', () => {
// Component should return null.
expect( container.firstChild ).toBeNull();
} );
+
+ it( 'should get dismissed when "Enable features" CTA is clicked', async () => {
+ registry.dispatch( CORE_USER ).receiveGetDismissedItems( [] );
+
+ fetchMock.postOnce( dismissItemsEndpoint, {
+ body: {
+ data: {
+ slug: RRM_PUBLICATION_APPROVED_OVERLAY_NOTIFICATION,
+ expiration: 0,
+ },
+ },
+ status: 200,
+ } );
+
+ const { getByRole, waitForRegistry } = render(
+
+
+ ,
+ {
+ registry,
+ }
+ );
+
+ await waitForRegistry();
+
+ fireEvent.click( getByRole( 'button', { name: /Enable features/i } ) );
+
+ await act( waitForDefaultTimeouts );
+
+ expect( fetchMock ).toHaveFetched( dismissItemsEndpoint );
+ } );
} );