test-speaking-api-config.mjs 1019 B

12345678910111213141516171819202122232425262728293031323334
  1. import assert from 'node:assert/strict'
  2. import { readFile } from 'node:fs/promises'
  3. import ts from 'typescript'
  4. const sourceUrl = new URL('../src/views/Editor/EnglishSpeaking/services/speakingApiConfig.ts', import.meta.url)
  5. const source = await readFile(sourceUrl, 'utf8')
  6. const compiled = ts.transpileModule(source, {
  7. compilerOptions: {
  8. module: ts.ModuleKind.ESNext,
  9. target: ts.ScriptTarget.ES2020,
  10. },
  11. }).outputText
  12. const mod = await import(`data:text/javascript,${encodeURIComponent(compiled)}`)
  13. assert.equal(
  14. mod.getSpeakingApiHost({}),
  15. 'https://ppt-english-speaking-api.cocorobo.cn',
  16. )
  17. assert.equal(
  18. mod.getSpeakingApiBaseUrl({}),
  19. 'https://ppt-english-speaking-api.cocorobo.cn/api/speaking/dialogue',
  20. )
  21. assert.equal(
  22. mod.getSpeakingApiBaseUrl({ VITE_SPEAKING_API_HOST: 'https://example.com/' }),
  23. 'https://example.com/api/speaking/dialogue',
  24. )
  25. assert.equal(
  26. mod.buildSpeakingWsUrl('/speak-stream'),
  27. 'wss://ppt-english-speaking-api.cocorobo.cn/api/speaking/dialogue/speak-stream',
  28. )