withRouteAnalytics.spec.tsx 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import {useEffect} from 'react';
  2. import {render} from 'sentry-test/reactTestingLibrary';
  3. import {RouteAnalyticsContext} from 'sentry/views/routeAnalyticsContextProvider';
  4. import withRouteAnalytics from './withRouteAnalytics';
  5. function TestComponent({setRouteAnalyticsParams}) {
  6. useEffect(() => {
  7. setRouteAnalyticsParams({foo: 'bar'});
  8. }, [setRouteAnalyticsParams]);
  9. return <div>hi</div>;
  10. }
  11. const WrappedComponent = withRouteAnalytics(TestComponent);
  12. describe('withRouteAnalytics', function () {
  13. it('passes context to children as props', function () {
  14. const setRouteAnalyticsParams = jest.fn();
  15. render(
  16. <RouteAnalyticsContext.Provider
  17. value={{
  18. setRouteAnalyticsParams,
  19. setDisableRouteAnalytics: jest.fn(),
  20. setOrganization: jest.fn(),
  21. setEventNames: jest.fn(),
  22. previousUrl: '',
  23. }}
  24. >
  25. <WrappedComponent />
  26. </RouteAnalyticsContext.Provider>
  27. );
  28. expect(setRouteAnalyticsParams).toHaveBeenCalledWith({foo: 'bar'});
  29. });
  30. });