@marginallyuseful/soll-playwright
v0.0.1-05b9ce9b
Published
Playwright integration for soll — scope E2E test runs to affected files
Downloads
1,098
Readme
@marginallyuseful/soll-playwright
Playwright integration for soll — scope E2E test runs to affected files.
Usage
Compose into your existing fixtures:
import { sollFixtures } from "@marginallyuseful/soll-playwright";
import { test as base } from "@playwright/test";
export const test = base.extend(sollFixtures);Or use the convenience export (no custom fixtures):
import { test, expect } from "@marginallyuseful/soll-playwright";How it works
The fixture handles everything automatically:
- Selection: loads test→chunk edges from the edge store, checks chunk content hashes
for validity, delegates to
soll affectedfor graph traversal - Skip: calls
testInfo.skip()for unaffected tests - Recording: instruments
page.on('response')to capture in-scope URLs - Persistence: writes test→chunk edges with source file annotations after each test
Configuration
export const test = base.extend({
...sollFixtures,
sollConfig: [
{
alwaysRun: ["**/visual-*.spec.ts"],
runAllTriggers: ["playwright.config.*", ".env*"],
inScopeOrigins: ["http://api.local:4000"],
},
{ option: true },
],
});Requirements
- A bundler plugin (
@marginallyuseful/soll-vite, etc.) must be configured to produce the chunk overlay. Without it, the fixture has no chunk→source data and runs all tests. - First run is always a full run (cold start) — it builds the test→chunk edge data that subsequent runs use for selection.
