jobRunStoreContractCases — @gj-kit/nest-operations-jobs
@gj-kit/nest-operations-jobs/testing에서 공개하는 function입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { jobRunStoreContractCases } from '@gj-kit/nest-operations-jobs/testing';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * The executable form of the S1-S7 obligations. Deliberately framework-free: * it returns cases instead of calling `describe`/`it`, so a host can drive them * from vitest, jest or `node:test` without this package depending on any of them. * * **Safe against a persistent store.** Every call mints a fresh key namespace and * prefixes every `jobKey`/`overlapKey` with it, and every reap the cases issue is * scoped to that namespace. So one shared store instance can drive the whole * array, the same table can be reused across CI runs without truncation, and no * case can move a row belonging to a job this suite never touched. Rows the * cases leave behind are inert: a later call uses different keys. * * ```ts * for (const testCase of jobRunStoreContractCases()) { * it(testCase.name, async () => { await testCase.run(appStore); }); * } * ``` */declare function jobRunStoreContractCases(options?: JobRunStoreContractOptions): readonly JobRunStoreContractCase[];이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/nest-operations-jobs - 버전:
0.1.1 - 공개 entry:
./testing - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”The executable form of the S1-S7 obligations. Deliberately framework-free:
it returns cases instead of calling describe/it, so a host can drive them
from vitest, jest or node:test without this package depending on any of them.
Safe against a persistent store. Every call mints a fresh key namespace and
prefixes every jobKey/overlapKey with it, and every reap the cases issue is
scoped to that namespace. So one shared store instance can drive the whole
array, the same table can be reused across CI runs without truncation, and no
case can move a row belonging to a job this suite never touched. Rows the
cases leave behind are inert: a later call uses different keys.
for (const testCase of jobRunStoreContractCases()) { it(testCase.name, async () => { await testCase.run(appStore); });}