test

Run the Släktforskning test suite across unit, component, and Tauri e2e tiers.

2|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/jonaseck2/slaktforskning --skill test-jonaseck2
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test
Source: https://github.com/jonaseck2/slaktforskning/tree/main/.claude/skills/test
Command: npx skills add https://github.com/jonaseck2/slaktforskning --skill test-jonaseck2

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps prevent broken genealogy app changes by guiding you through running and validating unit, component, and end-to-end tests before committing or merging.

Core Features & Use Cases

  • Multi-tier testing: Validates changes with Vitest unit + component tests, Playwright e2e against the packaged Tauri binary, and manual/MCP UI verification when coverage can’t see the full rendering stack.
  • API-first unit test discipline: Ensures tests call real src/api/* functions (no IPC, no Vue components, no mocks, and no hand-rolled SQL) with fresh in-memory SQLite per test.
  • Regression-proof assertions: Encourages checking database state directly for import/transform correctness (e.g., event placement column-name bugs).
  • Quality gates: Enforces ESLint with zero errors and CI/merge-safe e2e tiers, with guidance for capturing e2e evidence for plan close-out.

Quick Start

Run the full verification sequence by executing lint first, then unit tests, and then the appropriate Playwright e2e tier for the type of change you made.

Frequently Asked Questions about test

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run Vitest unit tests with SQLite isolation for API functions?

Run Vitest unit tests by calling real `src/api/*` functions directly with a fresh in-memory SQLite database per test, avoiding mocks or hand-rolled SQL. This ensures API-layer correctness and deterministic database state validation for each test case.

What's the best way to verify Vue modal and router changes beyond automated coverage?

Verify Vue modal and router changes by performing additional manual or MCP UI verification steps. This catches visual correctness and rendering gaps that automated component tests and Playwright e2e tiers cannot fully observe across the rendering stack.

Does Playwright e2e testing work with a packaged Tauri binary for CI gating?

Playwright e2e testing works with the packaged Tauri binary by running end-to-end tests against the compiled application. This CI gating tier captures regression evidence and validates the full application stack before merging changes.

How do I enforce ESLint and test coverage thresholds before committing code changes?

Enforce ESLint and test coverage thresholds by running lint with zero errors first, then executing the full test suite. This quality gate prevents broken changes by blocking commits that fail static analysis or insufficient test coverage requirements.

Why do my database import tests fail despite passing API assertions?

Database import tests fail because regression-proof assertions require checking database state directly for import and transform correctness. Column-name bugs in event placement can bypass API assertions, so direct SQLite state verification is necessary to catch them.

Can I use mocks or IPC calls in unit tests for a Tauri application?

You cannot use mocks, IPC calls, or Vue components in unit tests. The API-first test discipline requires calling actual `src/api/*` functions with per-test SQLite isolation to ensure deterministic execution and true API-layer correctness validation.