11import { CreatedMeeting , CreateMeetingInput , MeetingService } from '@/meeting/application/meeting.service' ;
22import { NotionMeetingProvisioningService } from '@/notion/application/notion-meeting-provisioning.service' ;
33import { NotionIssuePort , PendingIssue } from '@/notion/domain/ports/notion-issue.port' ;
4- import { PinoLoggerAdapter } from '@/shared-kernel/infrastructure/pino-logger.adapter' ;
5- import { stub } from '@/shared-kernel/testing/stub' ;
4+ import { noopLogger } from '@/shared-kernel/testing/noop-logger' ;
65
76/**
87 * private 필드를 가진 구체 서비스의 테스트 대역.
98 * 인터페이스가 아니라 클래스를 주입받으므로, 이 테스트가 실제로 쓰는 메서드만 구현해 넘긴다.
109 */
1110const stubService = < T , > ( impl : Partial < T > ) : T => impl as T ;
1211
13- function silentLogger ( ) : PinoLoggerAdapter {
14- return stub < PinoLoggerAdapter > ( { debug : jest . fn ( ) , info : jest . fn ( ) , warn : jest . fn ( ) , error : jest . fn ( ) } ) ;
15- }
16-
1712function fakeMeetingCreation ( code : string ) : {
1813 port : MeetingService ;
1914 inputs : CreateMeetingInput [ ] ;
@@ -63,7 +58,7 @@ describe('NotionMeetingProvisioningService 회의 카드', () => {
6358 fakeMeetingCreation ( 'ABC123' ) . port ,
6459 notionIssue ,
6560 'https://convene.example.com' ,
66- silentLogger ( ) ,
61+ noopLogger ( ) ,
6762 ) ;
6863
6964 it ( '이슈 페이지에 회의 링크와 같은 주소로 카드를 심는다' , async ( ) => {
@@ -98,7 +93,7 @@ describe('NotionMeetingProvisioningService.provisionForIssue', () => {
9893 meetingCreation . port ,
9994 notionIssue . port ,
10095 'https://convene.example.com' ,
101- silentLogger ( ) ,
96+ noopLogger ( ) ,
10297 ) ;
10398
10499 const result = await service . provisionForIssue ( 'issue-1' , '스프린트 회고' ) ;
@@ -127,7 +122,7 @@ describe('NotionMeetingProvisioningService.provisionForIssue', () => {
127122 fakeMeetingCreation ( 'ABC' ) . port ,
128123 throwingLinkWriter ( ) ,
129124 'https://x' ,
130- silentLogger ( ) ,
125+ noopLogger ( ) ,
131126 ) ;
132127
133128 await expect ( service . provisionForIssue ( 'issue-1' , null ) ) . rejects . toThrow ( ) ;
@@ -138,7 +133,7 @@ describe('NotionMeetingProvisioningService.provisionForIssue', () => {
138133 fakeMeetingCreation ( 'ABC' ) . port ,
139134 throwingLinkWriter ( ) ,
140135 'https://x' ,
141- silentLogger ( ) ,
136+ noopLogger ( ) ,
142137 ) ;
143138
144139 const result = await service . provisionForIssue ( 'issue-1' , null , { bestEffortLink : true } ) ;
@@ -158,7 +153,7 @@ describe('NotionMeetingProvisioningService.pollPendingIssues', () => {
158153 meetingCreation . port ,
159154 notionIssue . port ,
160155 'https://x' ,
161- silentLogger ( ) ,
156+ noopLogger ( ) ,
162157 ) ;
163158
164159 const outcome = await service . pollPendingIssues ( new Date ( ) ) ;
@@ -184,7 +179,7 @@ describe('NotionMeetingProvisioningService.pollPendingIssues', () => {
184179 meetingCreation ,
185180 notionIssue . port ,
186181 'https://x' ,
187- silentLogger ( ) ,
182+ noopLogger ( ) ,
188183 ) ;
189184
190185 const outcome = await service . pollPendingIssues ( new Date ( ) ) ;
0 commit comments