mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-30 18:46:00 +00:00
test(video): update gallery accept selector + complete fileService mocks
The gallery upload input now accepts image/*,video/* — update the two JourneyDetailPage selectors that matched the old value. The files/journey e2e suites mock fileService and were missing the new MAX_VIDEO_SIZE / isVideoExtension / isVideoMime exports, which broke module load.
This commit is contained in:
@@ -1813,7 +1813,7 @@ describe('JourneyDetailPage', () => {
|
|||||||
expect(uploadBtn).toBeTruthy();
|
expect(uploadBtn).toBeTruthy();
|
||||||
|
|
||||||
// Verify the hidden file input exists in the gallery view
|
// Verify the hidden file input exists in the gallery view
|
||||||
const fileInput = document.querySelector('input[type="file"][accept="image/*"]') as HTMLInputElement;
|
const fileInput = document.querySelector('input[type="file"][accept="image/*,video/*"]') as HTMLInputElement;
|
||||||
expect(fileInput).toBeTruthy();
|
expect(fileInput).toBeTruthy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -3314,7 +3314,7 @@ describe('JourneyDetailPage', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Find the hidden file input in the gallery view
|
// Find the hidden file input in the gallery view
|
||||||
const fileInput = document.querySelector('input[type="file"][accept="image/*"][multiple]') as HTMLInputElement;
|
const fileInput = document.querySelector('input[type="file"][accept="image/*,video/*"][multiple]') as HTMLInputElement;
|
||||||
expect(fileInput).toBeTruthy();
|
expect(fileInput).toBeTruthy();
|
||||||
|
|
||||||
// Simulate file selection
|
// Simulate file selection
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ vi.mock('../../src/services/permissions', () => ({ checkPermission }));
|
|||||||
|
|
||||||
const { fileSvc } = vi.hoisted(() => ({
|
const { fileSvc } = vi.hoisted(() => ({
|
||||||
fileSvc: {
|
fileSvc: {
|
||||||
MAX_FILE_SIZE: 50 * 1024 * 1024, BLOCKED_EXTENSIONS: ['.exe', '.svg'], filesDir: '/tmp/files', getAllowedExtensions: () => '*',
|
MAX_FILE_SIZE: 50 * 1024 * 1024, MAX_VIDEO_SIZE: 500 * 1024 * 1024, BLOCKED_EXTENSIONS: ['.exe', '.svg'], filesDir: '/tmp/files', getAllowedExtensions: () => '*',
|
||||||
|
isVideoExtension: (ext: string) => ['mp4', 'm4v', 'webm', 'mov'].includes(String(ext).toLowerCase().replace(/^\./, '')), isVideoMime: (m?: string) => !!m && m.startsWith('video/'),
|
||||||
verifyTripAccess: vi.fn(), resolveFilePath: vi.fn(), authenticateDownload: vi.fn(),
|
verifyTripAccess: vi.fn(), resolveFilePath: vi.fn(), authenticateDownload: vi.fn(),
|
||||||
listFiles: vi.fn(), getFileById: vi.fn(), getDeletedFile: vi.fn(), createFile: vi.fn(), updateFile: vi.fn(),
|
listFiles: vi.fn(), getFileById: vi.fn(), getDeletedFile: vi.fn(), createFile: vi.fn(), updateFile: vi.fn(),
|
||||||
toggleStarred: vi.fn(), softDeleteFile: vi.fn(), restoreFile: vi.fn(), permanentDeleteFile: vi.fn(),
|
toggleStarred: vi.fn(), softDeleteFile: vi.fn(), restoreFile: vi.fn(), permanentDeleteFile: vi.fn(),
|
||||||
|
|||||||
@@ -26,7 +26,12 @@ vi.mock('../../src/db/database', () => ({ db, closeDb: () => {}, reinitialize: (
|
|||||||
|
|
||||||
const { isAddonEnabled } = vi.hoisted(() => ({ isAddonEnabled: vi.fn(() => true) }));
|
const { isAddonEnabled } = vi.hoisted(() => ({ isAddonEnabled: vi.fn(() => true) }));
|
||||||
vi.mock('../../src/services/adminService', () => ({ isAddonEnabled }));
|
vi.mock('../../src/services/adminService', () => ({ isAddonEnabled }));
|
||||||
vi.mock('../../src/services/fileService', () => ({ getAllowedExtensions: () => '*' }));
|
vi.mock('../../src/services/fileService', () => ({
|
||||||
|
getAllowedExtensions: () => '*',
|
||||||
|
MAX_VIDEO_SIZE: 500 * 1024 * 1024,
|
||||||
|
isVideoExtension: (ext: string) => ['mp4', 'm4v', 'webm', 'mov'].includes(String(ext).toLowerCase().replace(/^\./, '')),
|
||||||
|
isVideoMime: (m?: string) => !!m && m.startsWith('video/'),
|
||||||
|
}));
|
||||||
vi.mock('../../src/services/memories/immichService', () => ({ uploadToImmich: vi.fn(), streamImmichAsset: vi.fn() }));
|
vi.mock('../../src/services/memories/immichService', () => ({ uploadToImmich: vi.fn(), streamImmichAsset: vi.fn() }));
|
||||||
vi.mock('../../src/services/memories/photoResolverService', () => ({ streamPhoto: vi.fn() }));
|
vi.mock('../../src/services/memories/photoResolverService', () => ({ streamPhoto: vi.fn() }));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user