template.spec.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const fixtureSetup = require('../fixtures/app-test-setup')
  2. const {
  3. resolve
  4. } = require('path')
  5. const {
  6. writeFileSync,
  7. readFileSync
  8. } = require('fs')
  9. describe('[CLI] tauri.js template', () => {
  10. it('init a project and builds it', async () => {
  11. const cwd = process.cwd()
  12. const fixturePath = resolve(__dirname, '../fixtures/empty')
  13. const tauriFixturePath = resolve(fixturePath, 'src-tauri')
  14. fixtureSetup.initJest('empty')
  15. process.chdir(fixturePath)
  16. const init = require('api/init')
  17. init({
  18. directory: process.cwd(),
  19. force: 'all',
  20. tauriPath: resolve(__dirname, '../../../../..')
  21. })
  22. process.chdir(tauriFixturePath)
  23. const manifestPath = resolve(tauriFixturePath, 'Cargo.toml')
  24. const manifestFile = readFileSync(manifestPath).toString()
  25. writeFileSync(manifestPath, `workspace = { }\n\n${manifestFile}`)
  26. const build = require('api/build')
  27. await build({
  28. tauri: {
  29. bundle: {
  30. targets: ['deb', 'osx', 'msi', 'appimage'] // we can't bundle dmg on CI so we remove it here
  31. }
  32. }
  33. }).promise.then(() => {
  34. writeFileSync('a.b', 'finished')
  35. process.chdir(cwd)
  36. })
  37. })
  38. })