diff --git a/dictation_server/src/common/test/overrides.ts b/dictation_server/src/common/test/overrides.ts index 6be0936..a24758c 100644 --- a/dictation_server/src/common/test/overrides.ts +++ b/dictation_server/src/common/test/overrides.ts @@ -71,6 +71,16 @@ export const overrideSendgridService = ( value: sendMail, writable: true, }); + } else { + // [重要] + // sendMailだけは外部に対する送信を行ってしまう & 失敗によりメールアドレス自体の信頼度が変動してしまうため、 + // overrideした場合には"必ず"偽物の呼び出しになるようにしておく + Object.defineProperty(obj, sendMail.name, { + value: async () => { + return; + }, + writable: true, + }); } if (createMailContentFromEmailConfirm) { diff --git a/dictation_server/src/features/accounts/accounts.service.spec.ts b/dictation_server/src/features/accounts/accounts.service.spec.ts index 2ffaf96..f2a5ad0 100644 --- a/dictation_server/src/features/accounts/accounts.service.spec.ts +++ b/dictation_server/src/features/accounts/accounts.service.spec.ts @@ -69,7 +69,14 @@ describe('createAccount', () => { return { sub: externalId }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirm: async () => { + return { html: '', text: '', subject: '' }; + }, + }); const { accountId, externalUserId, userId } = await service.createAccount( companyName, @@ -110,7 +117,14 @@ describe('createAccount', () => { }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirm: async () => { + return { html: '', text: '', subject: '' }; + }, + }); const companyName = 'test_company_name'; const country = 'US'; @@ -159,7 +173,14 @@ describe('createAccount', () => { }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirm: async () => { + return { html: '', text: '', subject: '' }; + }, + }); const companyName = 'test_company_name'; const country = 'US'; diff --git a/dictation_server/src/features/users/users.service.spec.ts b/dictation_server/src/features/users/users.service.spec.ts index 848b41f..b694b2b 100644 --- a/dictation_server/src/features/users/users.service.spec.ts +++ b/dictation_server/src/features/users/users.service.spec.ts @@ -403,7 +403,14 @@ describe('UsersService.createUser', () => { return { sub: externalId }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); expect( await service.createUser( @@ -478,7 +485,14 @@ describe('UsersService.createUser', () => { return { sub: externalId }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); expect( await service.createUser( @@ -556,7 +570,14 @@ describe('UsersService.createUser', () => { return { sub: externalId }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); expect( await service.createUser( @@ -631,7 +652,14 @@ describe('UsersService.createUser', () => { return { sub: externalId }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); expect( await service.createUser( @@ -701,7 +729,14 @@ describe('UsersService.createUser', () => { return { sub: externalId }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); // DBエラーを発生させる overrideUsersRepositoryService(service, { @@ -765,7 +800,14 @@ describe('UsersService.createUser', () => { throw new Error('ADB2C error'); }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); try { await service.createUser( @@ -830,7 +872,14 @@ describe('UsersService.createUser', () => { }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); try { await service.createUser( @@ -897,7 +946,14 @@ describe('UsersService.createUser', () => { return { sub: externalId_1 }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); expect( await service.createUser( @@ -1009,7 +1065,14 @@ describe('UsersService.createUser', () => { return { sub: externalId }; }, }); - overrideSendgridService(service, {}); + overrideSendgridService(service, { + sendMail: async () => { + return; + }, + createMailContentFromEmailConfirmForNormalUser: async () => { + return { html: '', text: '', subject: '' }; + }, + }); // AuthorIDのUNIQUE制約エラーを発生させる overrideUsersRepositoryService(service, {