mirror of
https://github.com/standardnotes/server
synced 2026-07-14 00:01:54 -04:00
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import 'reflect-metadata'
|
|
|
|
import { RefundProcessedEvent } from '@standardnotes/domain-events'
|
|
|
|
import { RefundProcessedEventHandler } from './RefundProcessedEventHandler'
|
|
import { StatisticsMeasure } from '../Statistics/StatisticsMeasure'
|
|
import { StatisticsStoreInterface } from '../Statistics/StatisticsStoreInterface'
|
|
import { Period } from '../Time/Period'
|
|
|
|
describe('RefundProcessedEventHandler', () => {
|
|
let event: RefundProcessedEvent
|
|
let statisticsStore: StatisticsStoreInterface
|
|
|
|
const createHandler = () => new RefundProcessedEventHandler(statisticsStore)
|
|
|
|
beforeEach(() => {
|
|
statisticsStore = {} as jest.Mocked<StatisticsStoreInterface>
|
|
statisticsStore.incrementMeasure = jest.fn()
|
|
|
|
event = {} as jest.Mocked<RefundProcessedEvent>
|
|
event.payload = {
|
|
userEmail: '[email protected]',
|
|
amount: 12.45,
|
|
}
|
|
})
|
|
|
|
it('should mark refunds for statistics', async () => {
|
|
await createHandler().handle(event)
|
|
|
|
expect(statisticsStore.incrementMeasure).toHaveBeenCalledWith(StatisticsMeasure.Refunds, 12.45, [
|
|
Period.Today,
|
|
Period.ThisWeek,
|
|
Period.ThisMonth,
|
|
])
|
|
})
|
|
})
|