fix: preserve qualification file names across uploads

This commit is contained in:
2026-09-21 22:44:01 +08:00
parent 8d66610964
commit cf09720beb
3 changed files with 32 additions and 4 deletions
@@ -83,6 +83,25 @@ class QualificationPackageServiceTest {
verify(fixture.storage, never()).store(TENANT_ID, fixture.legalPersonId);
}
@Test
void missingMultipartOriginalNamesUseStoredNamesForIamRegistration() {
var fixture = fixture();
var businessLicense = new MockMultipartFile("businessLicense", "", "image/png", new byte[] {1});
var legalPersonId = new MockMultipartFile("legalPersonId", "", "image/png", new byte[] {2});
when(fixture.storage.store(TENANT_ID, businessLicense)).thenReturn(fixture.businessStored);
when(fixture.storage.store(TENANT_ID, legalPersonId)).thenReturn(fixture.legalPersonStored);
when(fixture.iamClient.submitRequiredPackage(eq("internal-token"), any())).thenReturn(ApiResponse.success(
new IamQualificationClient.RequiredPackageResponse(31L, 32L, "PROFILE_REQUIRED", null, null)));
fixture.service.upload(TENANT_ID, businessLicense, legalPersonId,
"91310101abcde12345", null, null, false, false, false);
var captor = ArgumentCaptor.forClass(IamQualificationClient.RequiredPackageRequest.class);
verify(fixture.iamClient).submitRequiredPackage(eq("internal-token"), captor.capture());
assertEquals("business.pdf", captor.getValue().businessLicenseOriginalFileName());
assertEquals("legal-person.png", captor.getValue().legalPersonIdOriginalFileName());
}
@Test
void missingBusinessLicenseAndOrphanedLegalPersonParametersStillFailClosed() {
var fixture = fixture();