Files
Allan Kimmer Jensen c5dd6b5cd3 refactor: extract all inline test modules into dedicated files (#369)
* refactor: extract all inline test modules into dedicated files

Move every inline `#[cfg(test)] mod tests { ... }` block across the
workspace into external `tests.rs` files and update CODE_STYLE_GUIDE.md
to require external test files unconditionally (no threshold).

28 files extracted across 8 crates: store-dir, package-manager, fs,
package-manifest, lockfile, npmrc, cli, registry.

Closes #358.

* fix(package-manager): relocate snapshot to match new test file location

When `install::tests::should_install_dependencies` moved from the
inline `mod tests` in `install.rs` to the external
`install/tests.rs`, insta's snapshot lookup directory shifted from
`crates/package-manager/src/snapshots/` to
`crates/package-manager/src/install/snapshots/`. CI failed on every
platform because no snapshot existed at the new location. Move the
existing `.snap` file to its new home.

* test: address review feedback on extracted test files

Apply the actionable review comments on the test-extraction PR:

- save_lockfile: replace hardcoded `/nonexistent-pacquet-dir/...`
  with a tempdir-based missing path so the invalid-path test is
  deterministic across environments; add diagnostic message to the
  `matches!` assertion.
- snapshot_dep_ref: convert `looks_like_alias_rules` to a
  table-driven `assert_eq!` form with per-case logging.
- npmrc/workspace_yaml: compare `StoreDir` values directly instead
  of `display().to_string()`, which produces backslashes on Windows
  and would fail the `apply_overrides_npmrc_defaults` test there.
- package-manager/install: clear the static `EVENTS` mutex at the
  start of `install_emits_pnpm_event_sequence` so retries don't
  inherit stale events; add per-path logging before the
  `is_symlink_or_junction` / `exists` / `is_dir` assertions.
- package-manager/link_file: same `EVENTS.clear()` defense in
  `log_method_once_emits_first_call_per_method_only`; add
  diagnostics before nlink and symlink-metadata assertions.
- package-manager/build_snapshot: log the relevant fields before
  the `matches!` and `is_none` assertions.
- package-manager/install_package_from_registry: log
  `virtual_store_path` state before the `is_dir` assertion.
- package-manifest: assert the actual return value of
  `manifest.script("test", false)` (was `Some("echo")`) and
  `manifest.script("invalid", true)` (was `None`); add `dbg!` /
  `eprintln!` diagnostics around the bare `assert!` checks per
  CODE_STYLE_GUIDE.md.
- store-dir/check_pkg_files_integrity: add `dbg!(&result)` and
  path-existence logging before each non-`assert_eq!` assertion
  across all 11 tests.

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2026-05-02 21:03:33 +02:00
..