diff --git a/packages/auth/src/Domain/Handler/PaymentSuccessEventHandler.spec.ts b/packages/auth/src/Domain/Handler/PaymentSuccessEventHandler.spec.ts index 2ab333a90..7f3763da0 100644 --- a/packages/auth/src/Domain/Handler/PaymentSuccessEventHandler.spec.ts +++ b/packages/auth/src/Domain/Handler/PaymentSuccessEventHandler.spec.ts @@ -7,6 +7,7 @@ import { PaymentSuccessEventHandler } from './PaymentSuccessEventHandler' import { UserRepositoryInterface } from '../User/UserRepositoryInterface' import { User } from '../User/User' import { GetUserAnalyticsId } from '../UseCase/GetUserAnalyticsId/GetUserAnalyticsId' +import { Logger } from 'winston' describe('PaymentSuccessEventHandler', () => { let userRepository: UserRepositoryInterface @@ -15,9 +16,10 @@ describe('PaymentSuccessEventHandler', () => { let getUserAnalyticsId: GetUserAnalyticsId let analyticsStore: AnalyticsStoreInterface let statisticsStore: StatisticsStoreInterface + let logger: Logger const createHandler = () => - new PaymentSuccessEventHandler(userRepository, getUserAnalyticsId, analyticsStore, statisticsStore) + new PaymentSuccessEventHandler(userRepository, getUserAnalyticsId, analyticsStore, statisticsStore, logger) beforeEach(() => { user = {} as jest.Mocked @@ -42,6 +44,9 @@ describe('PaymentSuccessEventHandler', () => { paymentType: 'initial', subscriptionName: 'PRO_PLAN', } + + logger = {} as jest.Mocked + logger.warn = jest.fn() }) it('should mark payment success for analytics', async () => { diff --git a/packages/auth/src/Domain/Handler/PaymentSuccessEventHandler.ts b/packages/auth/src/Domain/Handler/PaymentSuccessEventHandler.ts index 14d7e040d..f536f4176 100644 --- a/packages/auth/src/Domain/Handler/PaymentSuccessEventHandler.ts +++ b/packages/auth/src/Domain/Handler/PaymentSuccessEventHandler.ts @@ -8,6 +8,7 @@ import { import { PaymentType, SubscriptionBillingFrequency, SubscriptionName } from '@standardnotes/common' import { DomainEventHandlerInterface, PaymentSuccessEvent } from '@standardnotes/domain-events' import { inject, injectable } from 'inversify' +import { Logger } from 'winston' import TYPES from '../../Bootstrap/Types' import { GetUserAnalyticsId } from '../UseCase/GetUserAnalyticsId/GetUserAnalyticsId' @@ -61,6 +62,7 @@ export class PaymentSuccessEventHandler implements DomainEventHandlerInterface { @inject(TYPES.GetUserAnalyticsId) private getUserAnalyticsId: GetUserAnalyticsId, @inject(TYPES.AnalyticsStore) private analyticsStore: AnalyticsStoreInterface, @inject(TYPES.StatisticsStore) private statisticsStore: StatisticsStoreInterface, + @inject(TYPES.Logger) private logger: Logger, ) {} async handle(event: PaymentSuccessEvent): Promise { @@ -83,6 +85,10 @@ export class PaymentSuccessEventHandler implements DomainEventHandlerInterface { ?.get(event.payload.billingFrequency as SubscriptionBillingFrequency) if (detailedMeasure !== undefined) { statisticMeasures.push(detailedMeasure) + } else { + this.logger.warn( + `Could not find detailed measure for: subscription - ${event.payload.subscriptionName}, payment type - ${event.payload.paymentType}, billing frequency - ${event.payload.billingFrequency}`, + ) } for (const measure of statisticMeasures) {