$ make test ./npm.sh run test Creating network "sealiousarchive_default" with the default driver Creating sealiousarchive_db_1 ... done Creating sealiousarchive_mailcatcher_1 ... done > sealious@0.8.0 test /opt/sealious > mocha -t 100000 setup-test.js lib/**/*.test.js (node:24) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead. access-strategy-types AndAccessStrategy ✓ returns nothing for and(complex-allow-pipeline, noone) (2646ms) ✓ returns everything for and(complex-allow-pipeline, public) (261ms) ✓ returns nothing for and(complex-deny-pipeline, public) (222ms) OrAccessStrategy ✓ returns everything for wrapped or(complex-allow-pipeline, noone) (957ms) ✓ returns everything for or(complex-allow-pipeline, public) (190ms) ✓ returns nothing for or(complex-deny-pipeline, noone) (198ms) ✓ returns everything for or(complex-deny-pipeline, public) (216ms) users-who-can ✓ should deny if the user can't perform the action (173ms) ✓ should allow if the user can't perform the action (376ms) user-referenced-in-field ✓ should deny if the user isn't the one referenced in the field and allow if it is (319ms) roles ✓ allows access to users with designated role and denies access to users without it (377ms) when ✓ should only use 'when_true' access strategy when the item passes the filter (319ms) ✓ should only use 'when_false' access strategy when the item doesn't pass the filter (259ms) collections password-reset-intents ✓ tells you if the email address doesn't exist (179ms) ✓ allows anyone to create an intent, if the email exists (322ms) ✓ tells you if the email address is malformed (274ms) ✓ sends an email with the reset password link (369ms) users auto create admin ✓ should automatically create a registration intent for the admin user (169ms) registration-intents ✓ doesn't allow setting a role for registration intention when the user in context can't create user-roles (178ms) ✓ allows setting a role for registration intention when the user in context can create user-roles (308ms) user-roles ✓ rejects when given an empty role (197ms) ✓ accepts correct dataset (218ms) field types single_reference ✓ should not allow a value that is not an existing id (178ms) ✓ should allow a value that exists in B (230ms) ✓ should not allow a value that exists in B but does not meet the filter criteria (176ms) ✓ should allow a value that exists in B but does not meet the filter criteria (184ms) text ✓ shouldn't allow a value that isn't a string (188ms) ✓ should respect given min and max length (195ms) ✓ should let proper string in (192ms) reverse-single-reference ✓ recreates the cached values if the field has just been added (388ms) ✓ updates the cached value when a new reference is created (189ms) ✓ updates the cached value when an old reference is deleted (203ms) ✓ updates the cached value when an old reference is edited to a new one (216ms) ✓ updates the cached value when an old reference is edited to an empty one (199ms) ✓ allows to filter by a value of the referencing resource (221ms) ✓ allows to display the full body of the referencing resources (212ms) settable-by ✓ should not allow any value when rejected by access strategy (170ms) ✓ should allow proper value when accepted by access strategy (201ms) ✓ should not allow invalid value when access strategy allows (166ms) special filters Matches ✓ returns only positive numbers when using @positive filter (222ms) ✓ returns empty array when using both @positive and @negative filters (193ms) IsReferencedByResourcesMatching ✓ returns only users with role matching `allowed_values` (291ms) simpleTemplate ✓ sends an email (264ms) confirm-password-reset ✓ displays an html form (192ms) finalize password reset ✓ allows to change a password (entire flow) (554ms) finalize registration ✓ allows to register an account (entire flow) (419ms) 46 passing (14s)