- Adds a new test suite with Docker-based smoke tests for all locales.
Can be run using the ./smoketest.sh script.
- Replaces all calls to Math.random() with a new helper that returns 0.5
in snapshot testing mode, ensuring deterministic snapshots.
- Similarly replaces all calls to new Date() and Date.now() with new
helpers that return a fixed date in snapshot testing mode.
- Replaces checks against NODE_ENV with APP_ENV, to ensure that the
bundles can be built with Nuxt for testing without losing code that
would otherwise be stripped out by production optimizations.
- Adds a database init script that can be used to initialize the
database with a single admin user and a long-lived JWT token for use
in automation tests.
- Adds a JWT decoding/encoding CLI tool for debugging JWTs.
Note: Snapshots are not checked in, and must be generated manually. See
test/__snapshots__/.gitignore for more information.
in the case of importing `.json` files, node does support these only via adding `with { type: 'json' }`
and then it is still experimental.
The workaround is to create a require() function which is hidden from webpack via simple-hacky string replacement.
https://nodejs.org/api/esm.html#json-modules
This means that the files are not fully compatible, as webpack supports loading of other files via `import`,
while node does only allow `.js` (experimentally `.json` and `.wasm`).