优化
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.baiyue.auth.service;
|
||||
|
||||
import com.baiyue.auth.dto.AccountManagementDtos.ChangePasswordRequest;
|
||||
import com.baiyue.auth.dto.AccountManagementDtos.ForcedPasswordChangeRequest;
|
||||
import com.baiyue.auth.dto.AccountManagementDtos.CreateAccountRequest;
|
||||
import com.baiyue.auth.dto.AccountManagementDtos.UpdateAccountProfileRequest;
|
||||
import com.baiyue.auth.dto.AccountManagementDtos.UpdateAccountStatusRequest;
|
||||
@@ -54,6 +55,25 @@ class AccountManagementServiceTest {
|
||||
verify(sessions, never()).revokeAll(any());
|
||||
}
|
||||
|
||||
@Test void forcedPasswordChangeRequiresResetFlagAndClearsIt() {
|
||||
account.setPasswordChangeRequired(true);
|
||||
|
||||
service.forcedChangePassword(10L, new ForcedPasswordChangeRequest("NewPass2"));
|
||||
|
||||
assertTrue(encoder.matches("NewPass2", account.getPasswordHash()));
|
||||
assertFalse(account.getPasswordChangeRequired());
|
||||
verify(repository).save(account);
|
||||
verify(sessions).revokeAll(10L);
|
||||
}
|
||||
|
||||
@Test void normalPasswordChangeIsRejectedUntilForcedChangeIsCompleted() {
|
||||
account.setPasswordChangeRequired(true);
|
||||
|
||||
assertThrows(BizException.class,
|
||||
() -> service.changePassword(10L, new ChangePasswordRequest("OldPass1", "NewPass2")));
|
||||
verify(repository, never()).save(any());
|
||||
}
|
||||
|
||||
@Test void disableAccountRevokesAllSessions() {
|
||||
service.updateStatus(10L, new UpdateAccountStatusRequest("DISABLED"));
|
||||
assertEquals("DISABLED", account.getAccountStatus());
|
||||
|
||||
Reference in New Issue
Block a user