sounding 0.0.0 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -4
- package/RESEARCH.md +743 -231
- package/index.js +58 -3
- package/lib/create-app-manager.js +329 -0
- package/lib/create-auth-helpers.js +159 -0
- package/lib/create-browser-manager.js +132 -0
- package/lib/create-expect.js +155 -0
- package/lib/create-helper-runner.js +55 -0
- package/lib/create-mail-capture.js +391 -0
- package/lib/create-mailbox.js +28 -0
- package/lib/create-request-client.js +549 -0
- package/lib/create-runtime.js +170 -0
- package/lib/create-test-api.js +228 -0
- package/lib/create-visit-client.js +114 -0
- package/lib/create-world-engine.js +300 -0
- package/lib/create-world-loader.js +128 -0
- package/lib/default-config.js +60 -0
- package/lib/define-world.js +37 -0
- package/lib/merge-config.js +25 -0
- package/lib/normalize-config.js +54 -0
- package/lib/resolve-datastore.js +97 -0
- package/package.json +17 -1
package/README.md
CHANGED
|
@@ -2,9 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
Sounding is a testing framework for Sails applications and The Boring JavaScript Stack.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
5
|
+
It is designed to be:
|
|
6
|
+
- a Sails hook first
|
|
7
|
+
- a CLI second
|
|
8
|
+
- powered by the native Node.js test runner
|
|
9
|
+
- integrated with Playwright for browser testing
|
|
10
|
+
- elegant for helper, endpoint, JSON API, Inertia, mail, and browser trials
|
|
11
|
+
|
|
12
|
+
The canonical Sails-native surface is:
|
|
13
|
+
- optional `config/sounding.js` when you need overrides
|
|
14
|
+
- `sails.sounding`
|
|
15
|
+
- `sails.helpers.user.signupWithTeam(...)` inside trials
|
|
16
|
+
- `get('/api/issues')` or `sails.sounding.request.get('/api/issues')` inside endpoint-style trials
|
|
17
|
+
- request helpers default to Sails virtual requests powered by `sails.request()`
|
|
18
|
+
- Inertia-style visits can use `visit('/pricing')` and partial reload options like `{ component, only }`
|
|
19
|
+
- a trial can opt into stricter parity with `test('...', { transport: 'http' }, ...)`
|
|
20
|
+
- any trial can also scope a request client with `sails.sounding.request.using('http')`
|
|
21
|
+
|
|
22
|
+
Sounding also owns its own built-in world engine, so the same package can:
|
|
23
|
+
- define factories under `tests/factories`
|
|
24
|
+
- define scenarios under `tests/scenarios`
|
|
25
|
+
- load named worlds for endpoint and browser trials
|
|
26
|
+
- capture outgoing mail by wrapping `sails.helpers.mail.send` and storing normalized messages in `sails.sounding.mailbox`
|
|
27
|
+
|
|
28
|
+
The default configuration story is intentionally calm:
|
|
29
|
+
- Sounding manages a temporary `sails-sqlite` datastore by default
|
|
30
|
+
- managed SQLite artifacts live under `.tmp/db`
|
|
31
|
+
- the default datastore identity is `default`
|
|
32
|
+
- browser projects start with `desktop`
|
|
33
|
+
- `inherit` remains available when an app already has a serious test datastore story
|
|
34
|
+
|
|
35
|
+
This repository starts with docs-driven product research and the first hook/runtime scaffolding for that vision.
|
|
9
36
|
|
|
10
37
|
See `RESEARCH.md`.
|