Remote / foldkit-remote/testing

Law

namespace · packages/remote/src/law.ts:272

const Law = { check }

In the guides

Members

Law.check

function · packages/remote/src/law.ts:89

check<AppModel>(
  Data: RemoteDomain<AppModel, any, any, any, any>,
  config: LawConfig<AppModel>,
): Effect.Effect<LawReport, unknown, RemoteClient>

Runs config.mutation as the client would, through Data.mutate over a Model holding what the server sends this principal, and through the server (RemoteClient: Remote.clientLayer(RemoteServer.handlers(server, principal))), then compares each predicted field, each predicted deletion and each list's order with what the server answers after the write.

Fails when nothing was compared: two sides that both said nothing agree, and that agreement is no evidence.