Testing PWA Feature Selection Module in Vue CLI
This test suite validates the Progressive Web App (PWA) prompt module functionality in Vue CLI. It ensures proper feature selection and plugin configuration during project setup using mock interactions and assertions.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
vuejs/vue-cli
packages/@vue/cli/lib/promptModules/__tests__/pwa.spec.js
jest.mock('fs')
jest.mock('inquirer')
const assertPromptModule = require('@vue/cli-test-utils/assertPromptModule')
const moduleToTest = require('../pwa')
test('pwa', async () => {
const expectedPrompts = [
{
message: 'features',
choices: ['PWA'],
check: [0]
}
]
const expectedOptions = {
plugins: {
'@vue/cli-plugin-pwa': {}
}
}
await assertPromptModule(
moduleToTest,
expectedPrompts,
expectedOptions,
{ pluginsOnly: true }
)
})