video-accessibility/frontend/tests/fixtures/test-data.ts
2025-08-24 16:28:33 -05:00

120 lines
No EOL
3.2 KiB
TypeScript

export const testUsers = {
client: {
email: 'client@example.com',
password: 'password123',
full_name: 'Test Client',
role: 'client' as const,
},
reviewer: {
email: 'reviewer@example.com',
password: 'password123',
full_name: 'Test Reviewer',
role: 'reviewer' as const,
},
admin: {
email: 'admin@example.com',
password: 'password123',
full_name: 'Test Admin',
role: 'admin' as const,
},
};
export const testJobs = {
pendingQC: {
id: 'job-pending-qc',
title: 'Test Video - Pending QC',
status: 'pending_qc' as const,
source: {
filename: 'test-video.mp4',
language: 'en',
gcs_uri: 'gs://test-bucket/job-pending-qc/source.mp4',
},
urls: {
source_video: 'https://example.com/signed-url-video.mp4',
captions_vtt: 'https://example.com/signed-url-captions.vtt',
audio_description_vtt: 'https://example.com/signed-url-ad.vtt',
},
},
completed: {
id: 'job-completed',
title: 'Test Video - Completed',
status: 'completed' as const,
source: {
filename: 'completed-video.mp4',
language: 'en',
gcs_uri: 'gs://test-bucket/job-completed/source.mp4',
},
outputs: {
en: {
captions_vtt_gcs: 'gs://test-bucket/job-completed/en/captions.vtt',
ad_vtt_gcs: 'gs://test-bucket/job-completed/en/ad.vtt',
ad_mp3_gcs: 'gs://test-bucket/job-completed/en/ad.mp3',
},
es: {
captions_vtt_gcs: 'gs://test-bucket/job-completed/es/captions.vtt',
ad_vtt_gcs: 'gs://test-bucket/job-completed/es/ad.vtt',
ad_mp3_gcs: 'gs://test-bucket/job-completed/es/ad.mp3',
},
},
},
};
export const testVttContent = {
captions: `WEBVTT
00:00:01.000 --> 00:00:03.500
Welcome to our video accessibility platform.
00:00:04.000 --> 00:00:07.000
This system automatically generates captions and audio descriptions.
00:00:08.000 --> 00:00:11.500
Please review the content for accuracy and quality.`,
audioDescription: `WEBVTT
00:00:01.000 --> 00:00:03.500
A person sits at a modern desk with a computer.
00:00:04.000 --> 00:00:07.000
The screen displays a clean, accessible interface with clear navigation.
00:00:08.000 --> 00:00:11.500
Multiple language options are visible in the dropdown menu.`,
};
export const mockApiResponses = {
loginSuccess: {
access_token: 'mock-jwt-token',
token_type: 'bearer',
user_id: 'test-user-123',
role: 'client',
},
jobListResponse: {
jobs: [testJobs.pendingQC, testJobs.completed],
total: 2,
page: 1,
size: 20,
},
vttContentResponse: {
captions_vtt: testVttContent.captions,
audio_description_vtt: testVttContent.audioDescription,
},
downloadLinksResponse: {
downloads: {
en: {
captions_vtt: 'https://example.com/download/captions-en.vtt',
audio_description_vtt: 'https://example.com/download/ad-en.vtt',
audio_description_mp3: 'https://example.com/download/ad-en.mp3',
},
es: {
captions_vtt: 'https://example.com/download/captions-es.vtt',
audio_description_vtt: 'https://example.com/download/ad-es.vtt',
audio_description_mp3: 'https://example.com/download/ad-es.mp3',
},
},
},
};