CodeVetter · Repo Unpack · Testing signals
meteor/meteor
Tests and CI definitions were inspected, not executed; no passing results or measured coverage are claimed. The inspected layers include isolated Jest tests, CLI self-tests, package Tinytests, browser E2E tests, and scheduled/label-triggered native smoke jobs. Discovery rules, provider stubs, exclusions, and individual assertion structure limit what these definitions establish.
- The unit environment uses Jest 30 with SWC transforms and discovers tools/scripts .test.js files; it explicitly excludes E2E/native suites, CLI self-test fixtures, runtime packages, and .github tests.
- examples.test.js mocks filesystem/network/console dependencies and asserts parseGitUrl behavior for branches, nested directories, trailing slashes, and encoded branch names; these inspected assertions do not exercise cloning.
- The CLI run self-test uses Sandbox with fake Mongo and asserts startup output, file-change restarts, crash-loop handling, recovery, CSS compilation failure, and settings-file errors.
- Package tests include Tinytest.addAsync checks for bcrypt-to-Argon2 migration and testAsyncMulti collection authorization checks; test-in-console starts a Meteor test app and launches Puppeteer after readiness checks.
- E2E testing uses jest-playwright-preset with Chromium, one Jest worker, configurable headed/video modes, and forceExit unless recording; inspected account cases assert successful login, logout hooks, rejection, token storage, and reload resume.
- Provider account scenarios check exposed login functions and submit fake provider service data; those tests establish stubbed integration assertions rather than live provider authorization/exchange coverage.
- CI definitions route tools/scripts changes to unit tests, shard frontend E2E categories, run account E2E for accounts-related changes, and run package tests under changeStreams/polling and oplog/polling matrices while excluding stylus.
- Native CI defines Android/iOS Maestro smoke jobs on daily schedules or mobile labels; workflow linting disables shellcheck/pyflakes, and the TypeScript project excludes tool fixtures and disables JavaScript checking.