@@ -81,26 +81,30 @@ export type SharedCaseMetadata = {
8181 tags ?: string [ ] ;
8282} ;
8383
84- export type SharedCaseContext = {
85- mode ?: ExecutorFixtureMode ;
84+ export type SharedCaseContext < Mode extends string = FixtureMode > = {
85+ mode ?: Mode ;
8686 workerProfile ?: string ;
8787 params ?: Record < string , unknown > ;
8888 threads ?: number ;
8989} ;
9090
91- export type SharedCase < Api , Result extends Record < string , unknown > = Record < string , unknown > > = SharedCaseMetadata & {
92- run ( api : Api , context : SharedCaseContext ) : Promise < Result > ;
91+ export type SharedCase <
92+ Api ,
93+ Result extends Record < string , unknown > = Record < string , unknown > ,
94+ Mode extends string = FixtureMode ,
95+ > = SharedCaseMetadata & {
96+ run ( api : Api , context : SharedCaseContext < Mode > ) : Promise < Result > ;
9397} ;
9498
95- export type SharedCaseResult = SharedCaseMetadata & SharedCaseContext & {
99+ export type SharedCaseResult < Mode extends string = FixtureMode > = SharedCaseMetadata & SharedCaseContext < Mode > & {
96100 ok : boolean ;
97101} ;
98102
99- export function passedCase < Result extends Record < string , unknown > > (
103+ export function passedCase < Result extends Record < string , unknown > , Mode extends string = FixtureMode > (
100104 testCase : SharedCaseMetadata ,
101- context : SharedCaseContext ,
105+ context : SharedCaseContext < Mode > ,
102106 result : Result ,
103- ) : SharedCaseResult & Result {
107+ ) : SharedCaseResult < Mode > & Result {
104108 return {
105109 ...result ,
106110 id : testCase . id ,
0 commit comments