import { describe, expect, it } from 'vitest'
import { appOriginForRequest, getAppOrigins } from '../src/lib/origins'

const PREVIEW_APP_ORIGIN = 'https://zync-app-preview.dry-salad-ffa1.workers.dev'

describe('preview app origin', () => {
  it('allows only the exact preview workers.dev origin outside production', () => {
    const previewOrigins = getAppOrigins({ environment: 'preview' })
    expect(previewOrigins.has(PREVIEW_APP_ORIGIN)).toBe(true)
    expect(previewOrigins.has('https://zync-app-preview.attacker.workers.dev')).toBe(false)
    expect(getAppOrigins({ environment: 'production' }).has(PREVIEW_APP_ORIGIN)).toBe(false)
  })

  it('derives the exact preview app origin for preview requests', () => {
    expect(appOriginForRequest(`${PREVIEW_APP_ORIGIN}/api/auth/verify-email`))
      .toBe(PREVIEW_APP_ORIGIN)
  })
})
