Testing CSS Pre-processor Selection Module in vue-cli
This test suite validates the CSS pre-processor selection functionality in Vue CLI, focusing on user prompt interactions and configuration generation. It ensures proper handling of different CSS pre-processor options and their integration into Vue projects.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
vuejs/vue-cli
packages/@vue/cli/lib/promptModules/__tests__/cssPreprocessors.spec.js
jest.mock('fs')
jest.mock('inquirer')
const assertPromptModule = require('@vue/cli-test-utils/assertPromptModule')
const moduleToTest = require('../cssPreprocessors')
test('CSS pre-processor ', async () => {
const expectedPrompts = [
{
message: 'features',
choices: ['CSS Pre-processors'],
check: [0]
},
{
message: 'Pick a CSS pre-processor',
choices: ['Sass/SCSS (with dart-sass)', 'Less', 'Stylus'],
choose: 0
}
]
const expectedOptions = {
cssPreprocessor: 'dart-sass',
plugins: {}
}
await assertPromptModule(
moduleToTest,
expectedPrompts,
expectedOptions,
{ pluginsOnly: true }
)
})