From d21517abe6a7ed4773e73e83a347bae69495c084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Thu, 6 Oct 2022 13:30:47 +0200 Subject: [PATCH] fix(auth): add warning logs for unrecognized payment type --- .../src/Domain/Handler/PaymentSuccessEventHandler.spec.ts | 7 ++++++- .../auth/src/Domain/Handler/PaymentSuccessEventHandler.ts | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) 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) {