package jnpf.dmsService;
|
|
import jnpf.dmsEntity.permission.vo.DmsPermissionResourceVO;
|
import jnpf.dmsMapper.DmsDocumentMapper;
|
import jnpf.dmsMapper.DmsFileVersionMapper;
|
import jnpf.dmsMapper.DmsFolderMapper;
|
import jnpf.dmsMapper.DmsPermissionResourceMapper;
|
import jnpf.dmsPermission.DmsCurrentIdentity;
|
import jnpf.dmsPermission.DmsCursorCodec;
|
import jnpf.dmsPermission.DmsPermissionProperties;
|
import org.junit.jupiter.api.Test;
|
|
import java.util.Collections;
|
import java.util.List;
|
import java.util.UUID;
|
|
import static org.junit.jupiter.api.Assertions.assertSame;
|
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.when;
|
|
class DmsResourceQueryServiceTest {
|
|
@Test
|
void usesAdministratorResourceTreeQuery() {
|
Fixture fixture = new Fixture();
|
List<DmsPermissionResourceVO> expected = Collections.singletonList(new DmsPermissionResourceVO());
|
when(fixture.resourceMapper.selectChildren("tenant-1", fixture.folderId, 100)).thenReturn(expected);
|
|
List<DmsPermissionResourceVO> result = fixture.service.children(fixture.folderId, 100);
|
|
assertSame(expected, result);
|
verify(fixture.currentIdentity).requirePermissionAdministrator();
|
verify(fixture.resourceMapper).selectChildren("tenant-1", fixture.folderId, 100);
|
}
|
|
private static class Fixture {
|
private final UUID folderId = UUID.fromString("018f0000-0000-7000-8000-000000000501");
|
private final DmsCurrentIdentity currentIdentity = mock(DmsCurrentIdentity.class);
|
private final DmsPermissionProperties properties = mock(DmsPermissionProperties.class);
|
private final DmsCursorCodec cursorCodec = mock(DmsCursorCodec.class);
|
private final DmsPermissionResourceMapper resourceMapper = mock(DmsPermissionResourceMapper.class);
|
private final DmsFolderMapper folderMapper = mock(DmsFolderMapper.class);
|
private final DmsDocumentMapper documentMapper = mock(DmsDocumentMapper.class);
|
private final DmsFileVersionMapper fileVersionMapper = mock(DmsFileVersionMapper.class);
|
private final DmsResourceQueryService service = new DmsResourceQueryService(
|
currentIdentity, properties, cursorCodec, resourceMapper,
|
folderMapper, documentMapper, fileVersionMapper);
|
|
private Fixture() {
|
when(currentIdentity.tenantId()).thenReturn("tenant-1");
|
when(properties.getDefaultPageSize()).thenReturn(50);
|
when(properties.getMaxPageSize()).thenReturn(100);
|
}
|
}
|
}
|