优化
This commit is contained in:
+13
@@ -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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user