salsify-experiences-sdk
Version:
SDK to be used by commerce websites to implement product experiences.
39 lines (30 loc) • 1.14 kB
text/typescript
import NavigationEventHandler from '../index'
import BaseEventHandler from '../../base'
import { EventCallbackOptions } from '../../base'
import { createLogger } from '../../../utils/logger'
import { makeContext, makeSettings } from '../../../__tests__/helpers'
const logger = createLogger(makeContext(), makeSettings())
describe('NavigationEventHandler', () => {
let handlerSpy: jest.SpyInstance<void, [options: EventCallbackOptions, extraProperties?: Record<string, unknown>]>
let _subject: NavigationEventHandler
describe('#event_name', () => {
test('it is correct', () => {
_subject = new NavigationEventHandler(logger)
expect(_subject.eventName).toBe('navigation')
})
})
describe('#handle', () => {
const options = {
productIdType: 'test-id-type',
productId: 'test-id',
}
beforeEach(() => {
handlerSpy = jest.spyOn(BaseEventHandler.prototype, 'handle')
_subject = new NavigationEventHandler(logger)
})
test('it calls super with the right params', () => {
_subject.handle(options)
expect(handlerSpy).toHaveBeenCalledWith(options)
})
})
})