{"id":18935,"library":"workshopper-adventure-test","title":"Workshopper Adventure Test","description":"A CLI-based test system for NodeSchool workshopper-adventures, supporting workshopper-adventure, workshopper, and substack adventure tutorials. It runs exercises by feeding CLI arguments and validating output against expected pass/fail criteria. Current stable version is 1.2.0 with infrequent releases (last was 2017). Key differentiator: tests tutorials at the CLI level, not programmatically, making it agnostic to the tutorial's internal implementation. Requires a specific test directory structure under the tutorial's root. Not actively maintained.","status":"maintenance","version":"1.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/workshopper/workshopper-adventure-test","tags":["javascript","nodeschool","workshopper","adventure","test"],"install":[{"cmd":"npm install workshopper-adventure-test","lang":"bash","label":"npm"},{"cmd":"yarn add workshopper-adventure-test","lang":"bash","label":"yarn"},{"cmd":"pnpm add workshopper-adventure-test","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Primary target tutorial framework; needed for understanding exercise structure","package":"workshopper-adventure","optional":true}],"imports":[{"note":"No programmatic API; used only as CLI tool.","symbol":"main","correct":"npm run test (runs workshopper-adventure-test via package.json script)"}],"quickstart":{"code":"{\n  \"scripts\": {\n    \"test\": \"workshopper-adventure-test\"\n  }\n}","lang":"javascript","description":"Add npm test script to run workshopper-adventure-test, then create test folder with exercise subfolders containing valid_*.js and invalid_*.js files."},"warnings":[{"fix":"Rename test files to match required pattern.","message":"Test file names must follow pattern valid_<number>.js or invalid_<number>.js; other names are ignored.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Run `<tutorial> list` and match folder names exactly (case-sensitive), removing non-alphanumeric characters.","message":"Exercise names in test folder must be simplified versions of the names returned by `<tutorial> list`. Mismatches cause tests to be skipped.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use in Node.js 10 or earlier; consider forking or using alternative test approach.","message":"The package is not actively maintained; last release in 2017. May not work with newer Node.js versions (expect issues on Node >=12).","severity":"gotcha","affected_versions":">=1.2.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install --save-dev workshopper-adventure-test`","cause":"Missing local installation","error":"Error: Cannot find module 'workshopper-adventure-test'"},{"fix":"Create a `test` directory with exercise subfolders containing valid_*.js/invalid_*.js files","cause":"No test folder or empty test structure","error":"TypeError: Cannot read property 'forEach' of undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}