|
4 | 4 | import de.filefighter.rest.domain.filesystem.data.persistence.FileSystemEntity;
|
5 | 5 | import de.filefighter.rest.domain.filesystem.data.persistence.FileSystemRepository;
|
6 | 6 | import de.filefighter.rest.domain.filesystem.exceptions.FileSystemContentsNotAccessibleException;
|
| 7 | +import de.filefighter.rest.domain.filesystem.exceptions.FileSystemItemNotFoundException; |
7 | 8 | import de.filefighter.rest.domain.filesystem.type.FileSystemType;
|
8 | 9 | import de.filefighter.rest.domain.filesystem.type.FileSystemTypeRepository;
|
9 | 10 | import de.filefighter.rest.domain.user.business.UserBusinessService;
|
|
21 | 22 | class FileSystemBusinessServiceUnitTest {
|
22 | 23 |
|
23 | 24 | private final FileSystemRepository fileSystemRepositoryMock = mock(FileSystemRepository.class);
|
24 |
| - private final UserBusinessService userBusinessService = mock(UserBusinessService.class); |
| 25 | + private final UserBusinessService userBusinessServiceMock = mock(UserBusinessService.class); |
25 | 26 | private final FileSystemTypeRepository fileSystemTypeRepository = mock(FileSystemTypeRepository.class);
|
26 |
| - private final FileSystemBusinessService fileSystemBusinessService = new FileSystemBusinessService(fileSystemRepositoryMock, userBusinessService, fileSystemTypeRepository); |
| 27 | + private final FileSystemBusinessService fileSystemBusinessService = new FileSystemBusinessService(fileSystemRepositoryMock, userBusinessServiceMock, fileSystemTypeRepository); |
27 | 28 |
|
28 | 29 | @Test
|
29 | 30 | void getFolderContentsByPathThrows() {
|
@@ -77,7 +78,7 @@ void getFolderContentsByPathWorks() {
|
77 | 78 |
|
78 | 79 | when(fileSystemRepositoryMock.findByPath(path)).thenReturn(entities);
|
79 | 80 | when(fileSystemRepositoryMock.findByFileSystemId(fileIdInFolder)).thenReturn(FileSystemEntity.builder().createdByUserId(userId).build());
|
80 |
| - when(userBusinessService.getUserById(userId)).thenReturn(User.builder().build()); |
| 81 | + when(userBusinessServiceMock.getUserById(userId)).thenReturn(User.builder().build()); |
81 | 82 |
|
82 | 83 | ArrayList<FileSystemItem> fileSystemItems = (ArrayList<FileSystemItem>) fileSystemBusinessService.getFolderContentsByPath(pathToRequest, user);
|
83 | 84 | assertEquals(1, fileSystemItems.size());
|
@@ -113,12 +114,46 @@ void getFolderContentsOfEntityWorks() {
|
113 | 114 | when(fileSystemRepositoryMock.findByFileSystemId(2)).thenReturn(dummyEntity);
|
114 | 115 | when(fileSystemRepositoryMock.findByFileSystemId(3)).thenReturn(dummyEntity);
|
115 | 116 | when(fileSystemRepositoryMock.findByFileSystemId(4)).thenReturn(FileSystemEntity.builder().createdByUserId(userId + 1).build());
|
116 |
| - when(userBusinessService.getUserById(userId)).thenReturn(User.builder().userId(userId).build()); |
| 117 | + when(userBusinessServiceMock.getUserById(userId)).thenReturn(User.builder().userId(userId).build()); |
117 | 118 |
|
118 | 119 | ArrayList<FileSystemItem> actual = (ArrayList<FileSystemItem>) fileSystemBusinessService.getFolderContentsOfEntities(arrayList, authenticatedUser, "/");
|
119 | 120 | assertEquals(4, actual.size());
|
120 | 121 | }
|
121 | 122 |
|
| 123 | + @Test |
| 124 | + void getFileSystemItemInfoThrows() { |
| 125 | + long id = 420; |
| 126 | + User dummyUser = User.builder().userId(213421234).build(); |
| 127 | + |
| 128 | + when(fileSystemRepositoryMock.findByFileSystemId(id)).thenReturn(null); |
| 129 | + FileSystemItemNotFoundException ex = assertThrows(FileSystemItemNotFoundException.class, () -> |
| 130 | + fileSystemBusinessService.getFileSystemItemInfo(id, dummyUser)); |
| 131 | + assertEquals("FileSystemItem with id " + id + " could not be found or you are not allowed to view it.", ex.getMessage()); |
| 132 | + |
| 133 | + when(fileSystemRepositoryMock.findByFileSystemId(id)).thenReturn(FileSystemEntity.builder().build()); |
| 134 | + ex = assertThrows(FileSystemItemNotFoundException.class, () -> |
| 135 | + fileSystemBusinessService.getFileSystemItemInfo(id, dummyUser)); |
| 136 | + assertEquals("FileSystemItem with id " + id + " could not be found or you are not allowed to view it.", ex.getMessage()); |
| 137 | + } |
| 138 | + |
| 139 | + @Test |
| 140 | + void getFileSystemItemInfoWorks() { |
| 141 | + long id = 420; |
| 142 | + long userId = 1234321; |
| 143 | + String name = "Folder"; |
| 144 | + User dummyUser = User.builder().userId(userId).build(); |
| 145 | + FileSystemEntity entity = FileSystemEntity.builder().name(name).createdByUserId(userId).build(); |
| 146 | + |
| 147 | + when(userBusinessServiceMock.getUserById(userId)).thenReturn(dummyUser); |
| 148 | + when(fileSystemRepositoryMock.findByFileSystemId(id)).thenReturn(entity); |
| 149 | + FileSystemItem fileSystemItem = fileSystemBusinessService.getFileSystemItemInfo(id, dummyUser); |
| 150 | + assertEquals(name, fileSystemItem.getName()); |
| 151 | + assertEquals(userId, fileSystemItem.getCreatedByUserId()); |
| 152 | + assertNull(fileSystemItem.getPath()); |
| 153 | + assertFalse(fileSystemItem.isShared()); |
| 154 | + } |
| 155 | + |
| 156 | + |
122 | 157 | @Test
|
123 | 158 | void removeTrailingWhiteSpaces() {
|
124 | 159 | String doesNotRemove0 = "/";
|
@@ -188,7 +223,7 @@ void createDTOWorks() {
|
188 | 223 | .typeId(typeId)
|
189 | 224 | .build();
|
190 | 225 |
|
191 |
| - when(userBusinessService.getUserById(createdByUserId)).thenReturn(userThatCreatedFile); |
| 226 | + when(userBusinessServiceMock.getUserById(createdByUserId)).thenReturn(userThatCreatedFile); |
192 | 227 | when(fileSystemTypeRepository.findFileSystemTypeById(typeId)).thenReturn(FileSystemType.UNDEFINED);
|
193 | 228 |
|
194 | 229 | FileSystemItem actual = fileSystemBusinessService.createDTO(fileSystemEntity, authenticatedUser, basePath);
|
|
0 commit comments