template.spec.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. const init = require('api/init')
  13. init({
  14. directory: process.cwd(),
  15. force: 'all',
  16. tauriPath: resolve(__dirname, '../../../../..')
  17. })
  18. process.chdir(tauriFixturePath)
  19. const manifestPath = resolve(tauriFixturePath, 'Cargo.toml')
  20. const manifestFile = readFileSync(manifestPath).toString()
  21. writeFileSync(manifestPath, `workspace = { }\n\n${manifestFile}`)
  22. } catch (e) {
  23. done(e)
  24. }
  25. const build = require('api/build')
  26. build({
  27. tauri: {
  28. bundle: {
  29. targets: ['deb', 'osx', 'msi', 'appimage'] // we can't bundle dmg on CI so we remove it here
  30. }
  31. }
  32. }).promise.then(() => {
  33. process.chdir(cwd)
  34. done()
  35. }).catch(done)
  36. })
  37. })