diff --git a/src/analytics/google.test.js b/src/analytics/google.test.js new file mode 100644 index 0000000..a13d595 --- /dev/null +++ b/src/analytics/google.test.js @@ -0,0 +1,16 @@ +import { trackGoogleEvent } from './google'; + +it('should call gtag with event', () => { + const mockedGtag = jest.fn(); + const originalWindow = { ...window }; + const windowSpy = jest.spyOn(global, 'window', 'get'); + windowSpy.mockImplementation(() => ({ + ...originalWindow, + gtag: mockedGtag, + })); + + trackGoogleEvent('youtube-button'); + expect(mockedGtag).toBeCalledWith('event', 'youtube-button'); + + windowSpy.mockRestore(); +}); diff --git a/src/analytics/umami.test.js b/src/analytics/umami.test.js new file mode 100644 index 0000000..07ea307 --- /dev/null +++ b/src/analytics/umami.test.js @@ -0,0 +1,16 @@ +import { trackUmamiEvent } from './umami'; + +it('should call gtag with event', () => { + const mockedUmami = jest.fn(); + const originalWindow = { ...window }; + const windowSpy = jest.spyOn(global, 'window', 'get'); + windowSpy.mockImplementation(() => ({ + ...originalWindow, + umami: mockedUmami, + })); + + trackUmamiEvent('youtube-button'); + expect(mockedUmami).toBeCalledWith('youtube-button'); + + windowSpy.mockRestore(); +});