优化
This commit is contained in:
@@ -25,6 +25,7 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Set;
|
||||
import java.util.List;
|
||||
|
||||
@DisplayName("账号管理服务")
|
||||
@SpringJUnitConfig(classes = {AccountManagementService.class, AccountManagementServiceTest.TestConfig.class})
|
||||
@@ -170,6 +171,42 @@ class AccountManagementServiceTest {
|
||||
verify(sessions).revokeAll(10L);
|
||||
verify(sessions).revokeAll(11L);
|
||||
}
|
||||
|
||||
@Test void archiveTenantDisablesEveryMerchantAccountAndRevokesSessions() {
|
||||
AuthAccount owner = merchantAccount(20L, 10001L, "ACTIVE", 3);
|
||||
AuthAccount member = merchantAccount(21L, 10001L, "DISABLED", null);
|
||||
when(repository.findMerchantByTenant(10001L)).thenReturn(List.of(owner, member));
|
||||
|
||||
service.archiveTenant(10001L);
|
||||
|
||||
assertEquals("DISABLED", owner.getAccountStatus());
|
||||
assertEquals(4, owner.getTokenVersion());
|
||||
assertEquals("DISABLED", member.getAccountStatus());
|
||||
assertEquals(1, member.getTokenVersion());
|
||||
verify(repository).save(owner);
|
||||
verify(repository).save(member);
|
||||
verify(sessions).revokeAll(20L);
|
||||
verify(sessions).revokeAll(21L);
|
||||
}
|
||||
|
||||
@Test void archiveTenantIsSuccessfulWhenCustomerHasNoAccounts() {
|
||||
when(repository.findMerchantByTenant(10001L)).thenReturn(List.of());
|
||||
|
||||
service.archiveTenant(10001L);
|
||||
|
||||
verify(repository, never()).save(any());
|
||||
verify(sessions, never()).revokeAll(any());
|
||||
}
|
||||
|
||||
private AuthAccount merchantAccount(long id, long tenantId, String status, Integer tokenVersion) {
|
||||
AuthAccount value = new AuthAccount();
|
||||
value.setId(id);
|
||||
value.setDefaultTenantId(tenantId);
|
||||
value.setDefaultAppCode("MERCHANT");
|
||||
value.setAccountStatus(status);
|
||||
value.setTokenVersion(tokenVersion);
|
||||
return value;
|
||||
}
|
||||
@Configuration
|
||||
static class TestConfig {
|
||||
@Bean
|
||||
|
||||
Reference in New Issue
Block a user