This commit is contained in:
2026-08-08 13:32:20 +08:00
parent 96788e10de
commit 3203adb5a7
73 changed files with 44331 additions and 26 deletions
@@ -94,6 +94,19 @@ class OverseasStorageFeeServiceTest {
verify(repository, never()).updateRule(any());
}
@Test
void initializesNineDefaultTiersIdempotently() {
doAnswer(invocation -> { OverseasStorageFeeRuleEntity rule = invocation.getArgument(0); rule.setId(77L); return null; })
.when(repository).insertRule(any());
var request = new OverseasStorageFeeDtos.DefaultInitializationRequest(10001L, "fee:10001", 1L, "客户");
var first = service.initializeDefaults(request);
assertThat(first.createdByThisInitialization()).isTrue();
verify(repository).insertTiers(org.mockito.ArgumentMatchers.argThat(list -> list.size() == 9));
when(repository.findByTenantAndKey(10001L, "fee:10001")).thenReturn(rule());
var second = service.initializeDefaults(request);
assertThat(second.createdByThisInitialization()).isFalse();
}
private static OverseasStorageFeeDtos.TierRequest tier(int start, int end, String price) {
return new OverseasStorageFeeDtos.TierRequest(start, end, new BigDecimal(price));
}