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',
      },
    },
  },
};