Skip to content

수신자 계약 4종 fake 15벌을 testFixtures 4벌로 — Flow 프로퍼티 규약 확정 포함 #1042

Closed

Description

@1hyok

#1030 의 feature/receiver/domain 몫이다. 4종 15벌 → 4벌.

계약 벌 수
ReceiverAuthRepository 5
ReceiverRepository 5
ReceiverDeliveryDocumentUploadRepository 3
IdentityVerificationRepository 2

주의 — ReceiverRepository 는 상태 흐름을 갖는다

authCodeFlow: Flow<String?> 프로퍼티가 있어 픽스처가 MutableStateFlow 를 들고 있어야 한다. 지금까지의 계약은 suspend 함수뿐이라 이 경우가 처음이다 — 픽스처가 흐름을 어떻게 열어 줄지(테스트가 값을 밀어 넣는 방법)를 여기서 정하고, 뒤 배치가 그걸 따른다.

규약

픽스처 규약은 #1030 에 정본이 있고 첫 적용은 #1040 이다. 그대로 따른다.

  • 기본 동작은 메모리 저장소, 호출은 전부 기록해 테스트가 사후에 단언한다.
  • 저장소 동작으로 표현 못 하는 시나리오(경합용 게이트, 스크립트된 실패)는 onX 람다로 갈아끼운다.
  • "이 시나리오에서 호출되면 안 됨" 은 strict() + unexpectedCall(...) 로 옮긴다. 기본 동작이 관대해져 경계가 사라지지 않게 한다.
  • 스크립트 큐는 픽스처에 넣지 않는다 — 호출부에서 ArrayDeque 를 들고 onX 로 물린다.
  • 단언 자체는 바꾸지 않는다. 기록 접근자 이름이 달라지는 것까지만 허용하고, 의미가 바뀌어야 한다면 별건으로 분리한다.

완료 기준

  • 이 모듈의 계약별 fake 가 src/testFixtures 정본 1벌(+시나리오 파라미터)로 접힌다.
  • 계약에 메서드를 추가하면 :<모듈>:compileDebugTestFixturesKotlin 이 실패하는 것을 실측한다.
  • :koverXmlReportCi :konsist:test :app:compileDebugAndroidTestKotlin ktlintCheck 통과.

Activity

  1. self-assigned this
    on Aug 24, 2026
  2. changed the title [-]test(receiver): 수신자 계약 4종 fake 15벌을 testFixtures 4벌로 — Flow 프로퍼티 규약 확정 포함[/-] [+]수신자 계약 4종 fake 15벌을 testFixtures 4벌로 — Flow 프로퍼티 규약 확정 포함[/+] on Aug 28, 2026
  3. added
    test테스트·검증·회귀 방지 작업
    area:receiver수신자 관리 기능 영역
    and removed
    enhancementNew feature or request
    on Aug 28, 2026
  4. added a commit that references this issue on Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:receiver수신자 관리 기능 영역test테스트·검증·회귀 방지 작업

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions