mirror of
https://github.com/tauri-apps/vue-cli-plugin-tauri.git
synced 2026-02-04 02:31:17 +01:00
feat: add tests
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
node_modules
|
||||
__tests__/temp_projects
|
||||
13
__tests__/build.spec.js
Normal file
13
__tests__/build.spec.js
Normal file
@@ -0,0 +1,13 @@
|
||||
jest.setTimeout(240000)
|
||||
const create = require('./createProject.helper')
|
||||
|
||||
describe('tauri:build', () => {
|
||||
it('Should build a tauri app', async () => {
|
||||
const project = await create('build')
|
||||
await project.run('vue-cli-service tauri:build')
|
||||
// Web code is built
|
||||
expect(project.has('dist_tauri/bundled/index.html')).toBe(true)
|
||||
// Tauri app is built
|
||||
expect(project.has('src-tauri/target/release/app')).toBe(true)
|
||||
})
|
||||
})
|
||||
15
__tests__/createProject.helper.js
Normal file
15
__tests__/createProject.helper.js
Normal file
@@ -0,0 +1,15 @@
|
||||
const create = require('@vue/cli-test-utils/createTestProject')
|
||||
const { defaultPreset } = require('@vue/cli/lib/options')
|
||||
const path = require('path')
|
||||
|
||||
module.exports = projectName => {
|
||||
const preset = { ...defaultPreset }
|
||||
preset.plugins['vue-cli-plugin-tauri'] = {}
|
||||
delete preset.plugins['@vue/cli-plugin-eslint']
|
||||
|
||||
return create(
|
||||
projectName,
|
||||
preset,
|
||||
path.join(process.cwd(), '/__tests__/temp_projects')
|
||||
)
|
||||
}
|
||||
18
__tests__/testSetup.helper.js
Normal file
18
__tests__/testSetup.helper.js
Normal file
@@ -0,0 +1,18 @@
|
||||
const lnk = require('lnk')
|
||||
const fs = require('fs')
|
||||
// Prevent full and unnecessary project creation
|
||||
process.env.VUE_CLI_TEST = true
|
||||
// Link ./ to node_modules/vcp-tauri so that require.resolve(vcp-tauri) returns ./
|
||||
if (!fs.existsSync('./node_modules/vue-cli-plugin-tauri')) {
|
||||
try {
|
||||
lnk.sync(['./'], './node_modules/vue-cli-plugin-tauri')
|
||||
} catch (err) {
|
||||
if (err.code !== 'EEXIST') console.error(err)
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
fs.mkdirSync('./__tests__/temp_projects')
|
||||
} catch (err) {
|
||||
if (err.code !== 'EEXIST') console.error(err)
|
||||
}
|
||||
9
jest.config.js
Normal file
9
jest.config.js
Normal file
@@ -0,0 +1,9 @@
|
||||
module.exports = {
|
||||
testEnvironment: 'node',
|
||||
setupFiles: ['<rootDir>/__tests__/testSetup.helper.js'],
|
||||
testPathIgnorePatterns: [
|
||||
'/node_modules/',
|
||||
'/__tests__/temp_projects/',
|
||||
'.*.helper.js'
|
||||
]
|
||||
}
|
||||
14
package.json
14
package.json
@@ -6,10 +6,24 @@
|
||||
"author": "Noah Klayman <noahklayman@gmail.com>",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"scripts": {
|
||||
"test": "jest",
|
||||
"pretest": "rimraf __tests__/temp_projects/*"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tauri-apps/tauri-webpack": "^0.1.4",
|
||||
"@vue/cli-shared-utils": "^4.1.1",
|
||||
"execa": "^3.4.0",
|
||||
"tauri": "^0.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli": "^4.1.1",
|
||||
"@vue/cli-plugin-babel": "^4.1.1",
|
||||
"@vue/cli-service": "^4.1.1",
|
||||
"@vue/cli-test-utils": "^4.1.1",
|
||||
"jest": "^24.9.0",
|
||||
"lnk": "^1.1.0",
|
||||
"rimraf": "^3.0.0",
|
||||
"vue": "^2.6.11"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user