template.spec.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const fixtureSetup = require('../fixtures/app-test-setup')
  2. const { resolve } = require('path')
  3. const { rmdirSync, existsSync, writeFileSync, readFileSync } = require('fs')
  4. describe('[CLI] tauri.js template', () => {
  5. it('init a project and builds it', done => {
  6. const cwd = process.cwd()
  7. try {
  8. const fixturePath = resolve(__dirname, '../fixtures/empty')
  9. const tauriFixturePath = resolve(fixturePath, 'src-tauri')
  10. fixtureSetup.initJest('empty')
  11. process.chdir(fixturePath)
  12. if (existsSync(tauriFixturePath)) {
  13. rmdirSync(tauriFixturePath, { recursive: true })
  14. }
  15. const { tauri } = require('bin/tauri')
  16. tauri('init')
  17. process.chdir(tauriFixturePath)
  18. const manifestPath = resolve(tauriFixturePath, 'Cargo.toml')
  19. const manifestFile = readFileSync(manifestPath).toString()
  20. writeFileSync(manifestPath, `workspace = { }\n\n${manifestFile}`)
  21. } catch (e) {
  22. done(e)
  23. }
  24. const build = require('api/build')
  25. build().promise.then(() => {
  26. process.chdir(cwd)
  27. done()
  28. }).catch(done)
  29. })
  30. })