Namespace Kuestenlogik.Bowire.Flows.Expectations

Classes

FlowExpectation

Declarative assertion attached to a Flow step. Each expectation pairs a Kind (what to look at), an Operator (how to compare), an optional Target selector (header name, JSON path, …), and an Expected right-hand-side value. Lives as a public type so the v2.2 CI runner (T2: bowire test <flow>) can deserialise the same shape the workbench writes.

FlowExpectationEvaluator

Pure-function evaluator: given a FlowExpectation and a FlowRequestEnvelope, return a FlowExpectationResult. No I/O, no global state — so the v2.2 CLI runner (T2) and the in-process flow runner share the same predicate semantics.

FlowExpectationResult

Outcome of evaluating a single FlowExpectation against a FlowRequestEnvelope. Carries enough detail for the UI result viewer + T2's JUnit XML failure messages to be useful without a re-evaluation pass.

FlowExpectationRollup

Per-flow rollup. Aggregates step results into the top-level summary the v2.2 CLI runner prints + ships into JUnit XML.

FlowRequestEnvelope

Captured result of one flow-step's request invocation — the input surface every FlowExpectation evaluates against. Kept transport-agnostic on purpose: the in-browser runner builds it from fetch/XHR, the CLI runner (T2) builds it from IBowireProtocol invocations, and the evaluator stays the same in both worlds.

FlowSnapshotComparer

Pure-function snapshot comparison. Lives beside FlowExpectationEvaluator so the CLI runner and the workbench's approve-snapshot surface share one diff implementation.

FlowSnapshotConfig

Snapshot ("golden baseline") configuration on a Flow step — #171. First run captures the response body into a snapshot file; subsequent runs diff actual against the baseline and fail on drift. Complements the structural FlowExpectation checks: expectations say "these fields must hold", the snapshot says "nothing ELSE changed either".

FlowStepExpectationResult

Per-step rollup: all expectation results for one Flow step, plus pass/fail counts that callers can read without iterating.

Enums

FlowExpectationKind

What slice of the request envelope an expectation reads.

FlowExpectationOperator

How an expectation compares actual to expected.

FlowSnapshotMode

How strictly a snapshot baseline is compared.