Skip to main content

Interface: FormHarness

Defined in: packages/testing/src/harness.ts:55

Properties

clock

readonly clock: FakeClock;

Defined in: packages/testing/src/harness.ts:57


engine

readonly engine: FormEngine;

Defined in: packages/testing/src/harness.ts:56


storage

readonly storage:
| StorageAdapter
| undefined;

Defined in: packages/testing/src/harness.ts:58


submissionId

readonly submissionId: string;

Defined in: packages/testing/src/harness.ts:59

Methods

dispose()

dispose(): void;

Defined in: packages/testing/src/harness.ts:109

Returns

void


errors()

errors(name?): FieldIssue[];

Defined in: packages/testing/src/harness.ts:71

Blocking errors for one field, or for the whole form when omitted.

Parameters

ParameterType
name?string

Returns

FieldIssue[]


expectError()

expectError(name, match?): FieldIssue;

Defined in: packages/testing/src/harness.ts:77

Assert a field currently has a blocking error, and return it. Throws with the field's actual state when it does not — the failure message is the reason to use this over a bare expect.

Parameters

ParameterType
namestring
match?string | RegExp

Returns

FieldIssue


expectNoError()

expectNoError(name): FormHarness;

Defined in: packages/testing/src/harness.ts:79

Assert a field has no blocking error. Throws listing the errors if it does.

Parameters

ParameterType
namestring

Returns

FormHarness


field()

field(name): FieldState;

Defined in: packages/testing/src/harness.ts:66

Full field state — relevance, required, choices, errors.

Parameters

ParameterType
namestring

Returns

FieldState


fill()

fill(name, value): FormHarness;

Defined in: packages/testing/src/harness.ts:62

Set a value the way a user would, then flush so reads are immediate.

Parameters

ParameterType
namestring
valueunknown

Returns

FormHarness


finalize()

finalize(): Result<Submission>;

Defined in: packages/testing/src/harness.ts:93

Returns

Result<Submission>


goTo()

goTo(pageId): FormHarness;

Defined in: packages/testing/src/harness.ts:90

Jump to a page regardless of validation — for setting up a test state.

Parameters

ParameterType
pageIdstring

Returns

FormHarness


kill()

kill(): Promise<void>;

Defined in: packages/testing/src/harness.ts:102

Simulate process death: dispose the engine and drop every in-memory reference. Anything not already in storage is gone, which is the point.

Returns

Promise<void>


next()

next(): boolean;

Defined in: packages/testing/src/harness.ts:86

Advance if the current page validates. Returns false at the end, or when blocked.

Returns

boolean


page()

page(): string;

Defined in: packages/testing/src/harness.ts:82

Id of the page the enumerator is on.

Returns

string


pages()

pages(): string[];

Defined in: packages/testing/src/harness.ts:84

Relevant page ids, in order.

Returns

string[]


prev()

prev(): boolean;

Defined in: packages/testing/src/harness.ts:88

Go back. Returns false on the first page.

Returns

boolean


restart()

restart(): Promise<FormHarness>;

Defined in: packages/testing/src/harness.ts:107

Rebuild from storage after kill(). Returns a fresh harness over the same submission id; the old one stays dead.

Returns

Promise<FormHarness>


save()

save(): Promise<void>;

Defined in: packages/testing/src/harness.ts:97

Persist the current draft. No-op without storage.

Returns

Promise<void>


submission()

submission(): Submission;

Defined in: packages/testing/src/harness.ts:94

Returns

Submission


validate()

validate(): ValidationResult;

Defined in: packages/testing/src/harness.ts:92

Returns

ValidationResult


value()

value(name): unknown;

Defined in: packages/testing/src/harness.ts:64

Current value of a field.

Parameters

ParameterType
namestring

Returns

unknown


visible()

visible(name): boolean;

Defined in: packages/testing/src/harness.ts:68

Is the field currently shown to the enumerator?

Parameters

ParameterType
namestring

Returns

boolean