优化
This commit is contained in:
@@ -7,9 +7,11 @@ import com.baiyue.iam.client.AuthAccountClient;
|
||||
import com.baiyue.iam.dto.MemberDtos.*;
|
||||
import com.baiyue.iam.entity.IamMembership;
|
||||
import com.baiyue.iam.entity.IamRole;
|
||||
import com.baiyue.iam.entity.IamTenant;
|
||||
import com.baiyue.iam.entity.IamUser;
|
||||
import com.baiyue.iam.mapper.IamRoleMapper;
|
||||
import com.baiyue.iam.repository.MemberRepository;
|
||||
import com.baiyue.iam.repository.TenantRepository;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -28,6 +30,7 @@ import static org.mockito.Mockito.*;
|
||||
@TestPropertySource(properties = "baiyue.security.internal-service-token=internal-token")
|
||||
class MemberServiceTest {
|
||||
@MockBean private MemberRepository repository;
|
||||
@MockBean private TenantRepository tenantRepository;
|
||||
@MockBean private IamRoleMapper roleMapper;
|
||||
@MockBean private AuthAccountClient auth;
|
||||
@Resource private MemberService service;
|
||||
@@ -52,6 +55,28 @@ class MemberServiceTest {
|
||||
verifyNoInteractions(auth);
|
||||
}
|
||||
|
||||
@Test void shouldReturnOwnerAccountForPlatformCustomerDetail() {
|
||||
IamTenant tenant = new IamTenant();
|
||||
tenant.setId(100L); tenant.setTenantType("MERCHANT");
|
||||
member.setMemberType("OWNER");
|
||||
user.setPhone("13800138000"); user.setEmail("owner@example.com");
|
||||
when(tenantRepository.findTenant(100L)).thenReturn(tenant);
|
||||
when(repository.findByTenant(100L)).thenReturn(List.of(member));
|
||||
IamRole ownerRole = new IamRole();
|
||||
ownerRole.setId(50L); ownerRole.setTenantId(100L); ownerRole.setRoleName("企业管理员");
|
||||
when(roleMapper.selectById(50L)).thenReturn(ownerRole);
|
||||
when(auth.summary("internal-token", 40L)).thenReturn(ApiResponse.success(
|
||||
new AuthAccountClient.AccountSummary(40L, "merchant_owner", "企业管理员", "ACTIVE")));
|
||||
|
||||
var result = service.platformList(100L);
|
||||
|
||||
assertEquals(1, result.size());
|
||||
assertEquals("merchant_owner", result.get(0).username());
|
||||
assertEquals("OWNER", result.get(0).memberType());
|
||||
assertEquals("ACTIVE", result.get(0).status());
|
||||
assertEquals(List.of("企业管理员"), result.get(0).roleNames());
|
||||
}
|
||||
|
||||
@Test void shouldHandleCase02() {
|
||||
when(repository.findByTenantAndId(200L, 20L)).thenReturn(null);
|
||||
assertThrows(BizException.class, () -> service.detail(200L, 20L));
|
||||
|
||||
Reference in New Issue
Block a user