mirror of
https://github.com/immich-app/immich.git
synced 2025-01-06 11:56:46 +01:00
7702560b12
* feat: unassign person faces * multiple improvements * chore: regenerate api * feat: improve face interactions in photos * fix: tests * fix: tests * optimize * fix: wrong assignment on complex-multiple re-assignments * fix: thumbnails with large photos * fix: complex reassign * fix: don't send people with faces * fix: person thumbnail generation * chore: regenerate api * add tess * feat: face box even when zoomed * fix: change feature photo * feat: make the blue icon hoverable * chore: regenerate api * feat: use websocket * fix: loading spinner when clicking on the done button * fix: use the svelte way * fix: tests * simplify * fix: unused vars * fix: remove unused code * fix: add migration * chore: regenerate api * ci: add unit tests * chore: regenerate api * feat: if a new person is created for a face and the server takes more than 15 seconds to generate the person thumbnail, don't wait for it * reorganize * chore: regenerate api * feat: global edit * pr feedback * pr feedback * simplify * revert test * fix: face generation * fix: tests * fix: face generation * fix merge * feat: search names in unmerge face selector modal * fix: merge face selector * simplify feature photo generation * fix: change endpoint * pr feedback * chore: fix merge * chore: fix merge * fix: tests * fix: edit & hide buttons * fix: tests * feat: show if person is hidden * feat: rename face to person * feat: split in new panel * copy-paste-error * pr feedback * fix: feature photo * do not leak faces * fix: unmerge modal * fix: merge modal event * feat(server): remove duplicates * fix: title for image thumbnails * fix: disable side panel when there's no face until next PR --------- Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
61 lines
1.8 KiB
TypeScript
61 lines
1.8 KiB
TypeScript
import { AccessCore, IAccessRepository } from '@app/domain';
|
|
|
|
export interface IAccessRepositoryMock {
|
|
activity: jest.Mocked<IAccessRepository['activity']>;
|
|
asset: jest.Mocked<IAccessRepository['asset']>;
|
|
album: jest.Mocked<IAccessRepository['album']>;
|
|
authDevice: jest.Mocked<IAccessRepository['authDevice']>;
|
|
library: jest.Mocked<IAccessRepository['library']>;
|
|
timeline: jest.Mocked<IAccessRepository['timeline']>;
|
|
person: jest.Mocked<IAccessRepository['person']>;
|
|
partner: jest.Mocked<IAccessRepository['partner']>;
|
|
}
|
|
|
|
export const newAccessRepositoryMock = (reset = true): IAccessRepositoryMock => {
|
|
if (reset) {
|
|
AccessCore.reset();
|
|
}
|
|
|
|
return {
|
|
activity: {
|
|
hasOwnerAccess: jest.fn(),
|
|
hasAlbumOwnerAccess: jest.fn(),
|
|
hasCreateAccess: jest.fn(),
|
|
},
|
|
|
|
asset: {
|
|
checkOwnerAccess: jest.fn().mockResolvedValue(new Set()),
|
|
checkAlbumAccess: jest.fn().mockResolvedValue(new Set()),
|
|
checkPartnerAccess: jest.fn().mockResolvedValue(new Set()),
|
|
checkSharedLinkAccess: jest.fn().mockResolvedValue(new Set()),
|
|
},
|
|
|
|
album: {
|
|
checkOwnerAccess: jest.fn().mockResolvedValue(new Set()),
|
|
checkSharedAlbumAccess: jest.fn().mockResolvedValue(new Set()),
|
|
checkSharedLinkAccess: jest.fn().mockResolvedValue(new Set()),
|
|
},
|
|
|
|
authDevice: {
|
|
checkOwnerAccess: jest.fn().mockResolvedValue(new Set()),
|
|
},
|
|
|
|
library: {
|
|
checkOwnerAccess: jest.fn().mockResolvedValue(new Set()),
|
|
checkPartnerAccess: jest.fn().mockResolvedValue(new Set()),
|
|
},
|
|
|
|
timeline: {
|
|
checkPartnerAccess: jest.fn().mockResolvedValue(new Set()),
|
|
},
|
|
|
|
person: {
|
|
hasFaceOwnerAccess: jest.fn(),
|
|
checkOwnerAccess: jest.fn().mockResolvedValue(new Set()),
|
|
},
|
|
|
|
partner: {
|
|
checkUpdateAccess: jest.fn().mockResolvedValue(new Set()),
|
|
},
|
|
};
|
|
};
|