diff --git a/packages/core/admin/admin/src/pages/MarketplacePage/index.js b/packages/core/admin/admin/src/pages/MarketplacePage/index.js index 0cbd7e23c7..f6cc804d09 100644 --- a/packages/core/admin/admin/src/pages/MarketplacePage/index.js +++ b/packages/core/admin/admin/src/pages/MarketplacePage/index.js @@ -1,8 +1,8 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { useIntl } from 'react-intl'; import styled from 'styled-components'; import { Helmet } from 'react-helmet'; -import { pxToRem, CheckPagePermissions } from '@strapi/helper-plugin'; +import { pxToRem, CheckPagePermissions, useTracking } from '@strapi/helper-plugin'; import { Layout, HeaderLayout, ContentLayout } from '@strapi/design-system/Layout'; import { Flex } from '@strapi/design-system/Flex'; import { Box } from '@strapi/design-system/Box'; @@ -27,6 +27,11 @@ const StackCentered = styled(Stack)` const MarketPlacePage = () => { const { formatMessage } = useIntl(); + const { trackUsage } = useTracking(); + + useEffect(() => { + trackUsage('didGoToMarketplace'); + }, [trackUsage]); return ( diff --git a/packages/core/admin/admin/src/pages/MarketplacePage/tests/index.test.js b/packages/core/admin/admin/src/pages/MarketplacePage/tests/index.test.js index 69238a7394..1995b8b6a3 100644 --- a/packages/core/admin/admin/src/pages/MarketplacePage/tests/index.test.js +++ b/packages/core/admin/admin/src/pages/MarketplacePage/tests/index.test.js @@ -2,11 +2,13 @@ import React from 'react'; import { render } from '@testing-library/react'; import { IntlProvider } from 'react-intl'; import { ThemeProvider, lightTheme } from '@strapi/design-system'; +import { useTracking } from '@strapi/helper-plugin'; import MarketPlacePage from '../index'; jest.mock('@strapi/helper-plugin', () => ({ pxToRem: jest.fn(), CheckPagePermissions: ({ children }) => children, + useTracking: jest.fn(() => ({ trackUsage: jest.fn() })), })); const App = ( @@ -440,4 +442,12 @@ describe('Marketplace coming soon', () => { `); }); + + it('sends an event when the user enters the marketplace', () => { + const trackUsage = jest.fn(); + useTracking.mockImplementation(() => ({ trackUsage })); + render(App); + + expect(trackUsage).toHaveBeenCalledWith('didGoToMarketplace'); + }); });