template.spec.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import * as fixtureSetup from '../fixtures/app-test-setup.js'
  2. import { resolve, dirname } from 'path'
  3. import { writeFileSync, readFileSync } from 'fs'
  4. import { init, build } from 'dist/api/cli'
  5. import { fileURLToPath } from 'url'
  6. const currentDirName = dirname(fileURLToPath(import.meta.url))
  7. describe('[CLI] cli.js template', () => {
  8. it('init a project and builds it', async () => {
  9. const cwd = process.cwd()
  10. const fixturePath = resolve(currentDirName, '../fixtures/empty')
  11. const tauriFixturePath = resolve(fixturePath, 'src-tauri')
  12. fixtureSetup.initJest('empty')
  13. process.chdir(fixturePath)
  14. const { promise } = await init({
  15. directory: process.cwd(),
  16. force: true,
  17. tauriPath: resolve(currentDirName, '../../../../..'),
  18. ci: true
  19. })
  20. await promise
  21. process.chdir(tauriFixturePath)
  22. const manifestPath = resolve(tauriFixturePath, 'Cargo.toml')
  23. const manifestFile = readFileSync(manifestPath).toString()
  24. writeFileSync(manifestPath, `workspace = { }\n${manifestFile}`)
  25. const { promise: buildPromise } = await build()
  26. await buildPromise
  27. process.chdir(cwd)
  28. })
  29. })