import { describe, expect, it } from 'vitest'
import { buildLocaleUrl, getCanonicalOrigin } from './canonical.js'

describe('@platform-modules/seo/canonical', () => {
  it('getCanonicalOrigin prefers custom domain over subdomain', () => {
    const origin = getCanonicalOrigin({
      customDomain: 'forum.example.com',
      subdomain: 'acme',
      baseDomain: 'platform.test',
    })
    expect(origin).toBe('https://forum.example.com')
    expect(
      getCanonicalOrigin({ customDomain: null, subdomain: 'acme', baseDomain: 'platform.test' }),
    ).toBe('https://acme.platform.test')
  })

  it('buildLocaleUrl joins origin, locale prefix, and path', () => {
    expect(buildLocaleUrl('https://example.com/', 'en', '/docs')).toBe('https://example.com/en/docs')
    expect(buildLocaleUrl('https://example.com', '', 'about')).toBe('https://example.com/about')
  })
})
