@Test
void filterBundle() {

    Bundle bundle = FilterTestUtils.getBundle();
    Folder folder1 = createFolder("my", "1", Folder.ROOT_FOLDER);
    Folder folder2 = createFolder("folder", "2", folder1);
    Folder folder3 = createFolder("path", "3", createFolder("folder", "2", folder1));
    bundle.addEntity(folder1);
    bundle.addEntity(folder2);
    bundle.addEntity(createFolder("fold", "5", folder1));
    bundle.addEntity(folder3);
    bundle.addEntity(createFolder("sub-folder", "4", folder3));
    bundle.addEntity(createFolder("another-path", "6", folder2));
    bundle.setFolderTree(new FolderTree(bundle.getEntities(Folder.class).values()));
    FolderFilter folderFilter = new FolderFilter();
    Bundle filteredBundle = new Bundle();
    List<Folder> childFolders = folderFilter.filter("/my/folder", new FilterConfiguration(), bundle, filteredBundle);
    assertEquals(4, childFolders.size());
    assertTrue(childFolders.stream().anyMatch(f -> "folder".equals(f.getName())));
    assertTrue(childFolders.stream().anyMatch(f -> "path".equals(f.getName())));
    assertTrue(childFolders.stream().anyMatch(f -> "another-path".equals(f.getName())));
    assertTrue(childFolders.stream().anyMatch(f -> "sub-folder".equals(f.getName())));
}