fix: Remove the unnecessary item limit from folder media (#2688)

- Fixed: #2573
This commit is contained in:
Dermot Duffy
2026-08-17 21:49:11 -07:00
committed by GitHub
parent 858c5d0610
commit 84b90bcc7e
12 changed files with 41 additions and 146 deletions
+25 -36
View File
@@ -499,22 +499,7 @@ describe('UnifiedQueryBuilder', () => {
});
});
it('should apply limit option', () => {
const { cameraManager, foldersManager } = createMocks();
const builder = new UnifiedQueryBuilder(cameraManager, foldersManager);
const folder = createFolder({ id: 'folder1', title: 'Test' });
const path: [FolderPathComponent] = [{ ha: { id: 'Root' } }];
const query = builder.buildFolderQueryWithPath(folder, path, {
limit: 10,
});
expect(query.getNodes()[0]).toMatchObject({
source: QuerySource.Folder,
limit: 10,
});
});
it('should not include limit when not provided', () => {
it('should not limit the number of items', () => {
const { cameraManager, foldersManager } = createMocks();
const builder = new UnifiedQueryBuilder(cameraManager, foldersManager);
const folder = createFolder({ id: 'folder1', title: 'Test' });
@@ -568,26 +553,6 @@ describe('UnifiedQueryBuilder', () => {
expect(query).toBeNull();
});
it('should apply limit option', () => {
const { cameraManager, foldersManager } = createMocks();
const folder = createFolder({ id: 'folder1', title: 'Test' });
const path: [FolderPathComponent] = [{ ha: { id: 'Root' } }];
foldersManager.getFolder.mockReturnValue(folder);
foldersManager.getDefaultQueryParameters.mockReturnValue(
createFolderQueryParams(folder, path),
);
const builder = new UnifiedQueryBuilder(cameraManager, foldersManager);
const query = builder.buildDefaultFolderQuery('folder1', { limit: 20 });
assert(query);
expect(query.getNodes()[0]).toMatchObject({
source: QuerySource.Folder,
limit: 20,
});
});
it('should use default folder when no ID provided', () => {
const { cameraManager, foldersManager } = createMocks();
foldersManager.getFolder.mockReturnValue(null);
@@ -1010,6 +975,30 @@ describe('UnifiedQueryBuilder', () => {
});
});
it('should not limit a folder query built for folder media type', () => {
const { cameraManager, foldersManager, store } = createMocks();
store.getCameraIDs.mockReturnValue(new Set(['camera.office']));
store.getCameraConfig.mockReturnValue(
createCameraConfig({ media: { type: 'folder', folders: ['folder1'] } }),
);
cameraManager.getCameraCapabilities.mockReturnValue(createCapabilities());
const folder = createFolder({ id: 'folder1', title: 'Test Folder' });
const path: [FolderPathComponent] = [{ ha: { id: 'Root' } }];
foldersManager.getFolder.mockReturnValue(folder);
foldersManager.getDefaultQueryParameters.mockReturnValue(
createFolderQueryParams(folder, path),
);
const builder = new UnifiedQueryBuilder(cameraManager, foldersManager);
const query = builder.buildDefaultCameraQuery(undefined, { limit: 50 });
assert(query);
expect(query.getNodes()[0]).not.toHaveProperty('limit');
});
it('should build default folder query for folder media type without specific folders', () => {
const { cameraManager, foldersManager, store } = createMocks();
store.getCameraIDs.mockReturnValue(new Set(['camera.office']));