template.spec.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const fixtureSetup = require('../fixtures/app-test-setup')
  2. const { resolve } = require('path')
  3. const { writeFileSync, readFileSync } = require('fs')
  4. describe('[CLI] tauri.js template', () => {
  5. it('init a project and builds it', async () => {
  6. const cwd = process.cwd()
  7. const fixturePath = resolve(__dirname, '../fixtures/empty')
  8. const tauriFixturePath = resolve(fixturePath, 'src-tauri')
  9. fixtureSetup.initJest('empty')
  10. process.chdir(fixturePath)
  11. const init = require('api/init')
  12. init({
  13. directory: process.cwd(),
  14. force: 'all',
  15. tauriPath: resolve(__dirname, '../../../../..')
  16. })
  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. const build = require('api/build')
  22. await build({
  23. tauri: {
  24. bundle: {
  25. targets: ['deb', 'osx', 'msi', 'appimage'] // we can't bundle dmg on CI so we remove it here
  26. }
  27. }
  28. }).promise.then(() => {
  29. writeFileSync('a.b', 'finished')
  30. process.chdir(cwd)
  31. })
  32. })
  33. })