@buzzr/dfs-testkit
Advanced tools
+10
-0
@@ -29,2 +29,4 @@ 'use strict'; | ||
| direction: "over", | ||
| actual: null, | ||
| status: "pending", | ||
| gameDate: "2026-05-07T00:00:00.000Z", | ||
@@ -53,2 +55,9 @@ ...overrides | ||
| } | ||
| function makeInvalidDfsEntry(overrides = {}) { | ||
| return makeDfsEntry({ | ||
| stake: 0, | ||
| legs: [makeDfsLeg({ legId: "dup" }), makeDfsLeg({ legId: "dup" })], | ||
| ...overrides | ||
| }); | ||
| } | ||
@@ -59,3 +68,4 @@ exports.createMockStatProvider = createMockStatProvider; | ||
| exports.makeGameLogEntry = makeGameLogEntry; | ||
| exports.makeInvalidDfsEntry = makeInvalidDfsEntry; | ||
| //# sourceMappingURL=index.cjs.map | ||
| //# sourceMappingURL=index.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/index.ts"],"names":["defineStatProvider"],"mappings":";;;;;AAQO,SAAS,gBAAA,CACd,SAAA,GAA8C,EAAC,EACtB;AACzB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA,IACN,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ,IAAA;AAAA,IACR,QAAA,EAAU,GAAA;AAAA,IACV,OAAA,EAAS,GAAA;AAAA,IACT,MAAA,EAAQ,GAAA;AAAA,IACR,MAAA,EAAQ,GAAA;AAAA,IACR,SAAA,EAAW,GAAA;AAAA,IACX,MAAA,EAAQ,GAAA;AAAA,IACR,GAAG;AAAA,GACL;AACF;AAEO,SAAS,UAAA,CAAW,SAAA,GAAkC,EAAC,EAAgB;AAC5E,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,OAAA;AAAA,IACP,UAAA,EAAY,gBAAA;AAAA,IACZ,QAAA,EAAU,IAAA;AAAA,IACV,MAAA,EAAQ,KAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,IAAA,EAAM,IAAA;AAAA,IACN,SAAA,EAAW,MAAA;AAAA,IACX,QAAA,EAAU,0BAAA;AAAA,IACV,GAAG;AAAA,GACL;AACF;AAEO,SAAS,YAAA,CAAa,SAAA,GAAoC,EAAC,EAAkB;AAClF,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,eAAA;AAAA,IACT,MAAA,EAAQ,YAAA;AAAA,IACR,UAAA,EAAY,OAAA;AAAA,IACZ,KAAA,EAAO,EAAA;AAAA,IACP,mBAAA,EAAqB,CAAA;AAAA,IACrB,IAAA,EAAM,CAAC,UAAA,EAAY,CAAA;AAAA,IACnB,GAAG;AAAA,GACL;AACF;AAEO,SAAS,sBAAA,CACd,WAAA,EACA,EAAA,GAAK,oBAAA,EACS;AACd,EAAA,OAAOA,4BAAA,CAAmB;AAAA,IACxB,EAAA;AAAA,IACA,UAAA,CAAW,EAAE,GAAA,EAAI,EAAG;AAClB,MAAA,OAAO,WAAA,CAAY,GAAA,CAAI,KAAK,CAAA,IAAK,EAAC;AAAA,IACpC;AAAA,GACD,CAAA;AACH","file":"index.cjs","sourcesContent":["import {\n defineStatProvider,\n type DfsEntryInput,\n type DfsLegInput,\n type PlayerGameLogEntryShape,\n type StatProvider,\n} from '@buzzr/dfs-engine';\n\nexport function makeGameLogEntry(\n overrides: Partial<PlayerGameLogEntryShape> = {},\n): PlayerGameLogEntryShape {\n return {\n date: '2026-05-07T00:00:00.000Z',\n minutes: '34:00',\n points: '24',\n rebounds: '7',\n assists: '5',\n steals: '1',\n blocks: '0',\n turnovers: '2',\n threeP: '3',\n ...overrides,\n };\n}\n\nexport function makeDfsLeg(overrides: Partial<DfsLegInput> = {}): DfsLegInput {\n return {\n legId: 'leg-1',\n playerName: 'Fixture Player',\n playerId: null,\n league: 'NBA',\n propType: 'Points',\n line: 20.5,\n direction: 'over',\n gameDate: '2026-05-07T00:00:00.000Z',\n ...overrides,\n };\n}\n\nexport function makeDfsEntry(overrides: Partial<DfsEntryInput> = {}): DfsEntryInput {\n return {\n entryId: 'fixture-entry',\n bookId: 'prizepicks',\n playTypeId: 'power',\n stake: 10,\n displayedMultiplier: 3,\n legs: [makeDfsLeg()],\n ...overrides,\n };\n}\n\nexport function createMockStatProvider(\n rowsByLegId: Record<string, PlayerGameLogEntryShape[]>,\n id = 'mock-stat-provider',\n): StatProvider {\n return defineStatProvider({\n id,\n getGameLog({ leg }) {\n return rowsByLegId[leg.legId] ?? [];\n },\n });\n}\n"]} | ||
| {"version":3,"sources":["../src/index.ts"],"names":["defineStatProvider"],"mappings":";;;;;AAQO,SAAS,gBAAA,CACd,SAAA,GAA8C,EAAC,EACtB;AACzB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA,IACN,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ,IAAA;AAAA,IACR,QAAA,EAAU,GAAA;AAAA,IACV,OAAA,EAAS,GAAA;AAAA,IACT,MAAA,EAAQ,GAAA;AAAA,IACR,MAAA,EAAQ,GAAA;AAAA,IACR,SAAA,EAAW,GAAA;AAAA,IACX,MAAA,EAAQ,GAAA;AAAA,IACR,GAAG;AAAA,GACL;AACF;AAEO,SAAS,UAAA,CAAW,SAAA,GAAkC,EAAC,EAAgB;AAC5E,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,OAAA;AAAA,IACP,UAAA,EAAY,gBAAA;AAAA,IACZ,QAAA,EAAU,IAAA;AAAA,IACV,MAAA,EAAQ,KAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,IAAA,EAAM,IAAA;AAAA,IACN,SAAA,EAAW,MAAA;AAAA,IACX,MAAA,EAAQ,IAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,0BAAA;AAAA,IACV,GAAG;AAAA,GACL;AACF;AAEO,SAAS,YAAA,CAAa,SAAA,GAAoC,EAAC,EAAkB;AAClF,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,eAAA;AAAA,IACT,MAAA,EAAQ,YAAA;AAAA,IACR,UAAA,EAAY,OAAA;AAAA,IACZ,KAAA,EAAO,EAAA;AAAA,IACP,mBAAA,EAAqB,CAAA;AAAA,IACrB,IAAA,EAAM,CAAC,UAAA,EAAY,CAAA;AAAA,IACnB,GAAG;AAAA,GACL;AACF;AAEO,SAAS,sBAAA,CACd,WAAA,EACA,EAAA,GAAK,oBAAA,EACS;AACd,EAAA,OAAOA,4BAAA,CAAmB;AAAA,IACxB,EAAA;AAAA,IACA,UAAA,CAAW,EAAE,GAAA,EAAI,EAAG;AAClB,MAAA,OAAO,WAAA,CAAY,GAAA,CAAI,KAAK,CAAA,IAAK,EAAC;AAAA,IACpC;AAAA,GACD,CAAA;AACH;AAEO,SAAS,mBAAA,CAAoB,SAAA,GAAoC,EAAC,EAAkB;AACzF,EAAA,OAAO,YAAA,CAAa;AAAA,IAClB,KAAA,EAAO,CAAA;AAAA,IACP,IAAA,EAAM,CAAC,UAAA,CAAW,EAAE,KAAA,EAAO,KAAA,EAAO,CAAA,EAAG,UAAA,CAAW,EAAE,KAAA,EAAO,KAAA,EAAO,CAAC,CAAA;AAAA,IACjE,GAAG;AAAA,GACJ,CAAA;AACH","file":"index.cjs","sourcesContent":["import {\n defineStatProvider,\n type DfsEntryInput,\n type DfsLegInput,\n type PlayerGameLogEntryShape,\n type StatProvider,\n} from '@buzzr/dfs-engine';\n\nexport function makeGameLogEntry(\n overrides: Partial<PlayerGameLogEntryShape> = {},\n): PlayerGameLogEntryShape {\n return {\n date: '2026-05-07T00:00:00.000Z',\n minutes: '34:00',\n points: '24',\n rebounds: '7',\n assists: '5',\n steals: '1',\n blocks: '0',\n turnovers: '2',\n threeP: '3',\n ...overrides,\n };\n}\n\nexport function makeDfsLeg(overrides: Partial<DfsLegInput> = {}): DfsLegInput {\n return {\n legId: 'leg-1',\n playerName: 'Fixture Player',\n playerId: null,\n league: 'NBA',\n propType: 'Points',\n line: 20.5,\n direction: 'over',\n actual: null,\n status: 'pending',\n gameDate: '2026-05-07T00:00:00.000Z',\n ...overrides,\n };\n}\n\nexport function makeDfsEntry(overrides: Partial<DfsEntryInput> = {}): DfsEntryInput {\n return {\n entryId: 'fixture-entry',\n bookId: 'prizepicks',\n playTypeId: 'power',\n stake: 10,\n displayedMultiplier: 3,\n legs: [makeDfsLeg()],\n ...overrides,\n };\n}\n\nexport function createMockStatProvider(\n rowsByLegId: Record<string, PlayerGameLogEntryShape[]>,\n id = 'mock-stat-provider',\n): StatProvider {\n return defineStatProvider({\n id,\n getGameLog({ leg }) {\n return rowsByLegId[leg.legId] ?? [];\n },\n });\n}\n\nexport function makeInvalidDfsEntry(overrides: Partial<DfsEntryInput> = {}): DfsEntryInput {\n return makeDfsEntry({\n stake: 0,\n legs: [makeDfsLeg({ legId: 'dup' }), makeDfsLeg({ legId: 'dup' })],\n ...overrides,\n });\n}\n"]} |
+2
-1
@@ -7,3 +7,4 @@ import { PlayerGameLogEntryShape, StatProvider, DfsEntryInput, DfsLegInput } from '@buzzr/dfs-engine'; | ||
| declare function createMockStatProvider(rowsByLegId: Record<string, PlayerGameLogEntryShape[]>, id?: string): StatProvider; | ||
| declare function makeInvalidDfsEntry(overrides?: Partial<DfsEntryInput>): DfsEntryInput; | ||
| export { createMockStatProvider, makeDfsEntry, makeDfsLeg, makeGameLogEntry }; | ||
| export { createMockStatProvider, makeDfsEntry, makeDfsLeg, makeGameLogEntry, makeInvalidDfsEntry }; |
+2
-1
@@ -7,3 +7,4 @@ import { PlayerGameLogEntryShape, StatProvider, DfsEntryInput, DfsLegInput } from '@buzzr/dfs-engine'; | ||
| declare function createMockStatProvider(rowsByLegId: Record<string, PlayerGameLogEntryShape[]>, id?: string): StatProvider; | ||
| declare function makeInvalidDfsEntry(overrides?: Partial<DfsEntryInput>): DfsEntryInput; | ||
| export { createMockStatProvider, makeDfsEntry, makeDfsLeg, makeGameLogEntry }; | ||
| export { createMockStatProvider, makeDfsEntry, makeDfsLeg, makeGameLogEntry, makeInvalidDfsEntry }; |
+10
-1
@@ -27,2 +27,4 @@ import { defineStatProvider } from '@buzzr/dfs-engine'; | ||
| direction: "over", | ||
| actual: null, | ||
| status: "pending", | ||
| gameDate: "2026-05-07T00:00:00.000Z", | ||
@@ -51,5 +53,12 @@ ...overrides | ||
| } | ||
| function makeInvalidDfsEntry(overrides = {}) { | ||
| return makeDfsEntry({ | ||
| stake: 0, | ||
| legs: [makeDfsLeg({ legId: "dup" }), makeDfsLeg({ legId: "dup" })], | ||
| ...overrides | ||
| }); | ||
| } | ||
| export { createMockStatProvider, makeDfsEntry, makeDfsLeg, makeGameLogEntry }; | ||
| export { createMockStatProvider, makeDfsEntry, makeDfsLeg, makeGameLogEntry, makeInvalidDfsEntry }; | ||
| //# sourceMappingURL=index.js.map | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;AAQO,SAAS,gBAAA,CACd,SAAA,GAA8C,EAAC,EACtB;AACzB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA,IACN,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ,IAAA;AAAA,IACR,QAAA,EAAU,GAAA;AAAA,IACV,OAAA,EAAS,GAAA;AAAA,IACT,MAAA,EAAQ,GAAA;AAAA,IACR,MAAA,EAAQ,GAAA;AAAA,IACR,SAAA,EAAW,GAAA;AAAA,IACX,MAAA,EAAQ,GAAA;AAAA,IACR,GAAG;AAAA,GACL;AACF;AAEO,SAAS,UAAA,CAAW,SAAA,GAAkC,EAAC,EAAgB;AAC5E,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,OAAA;AAAA,IACP,UAAA,EAAY,gBAAA;AAAA,IACZ,QAAA,EAAU,IAAA;AAAA,IACV,MAAA,EAAQ,KAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,IAAA,EAAM,IAAA;AAAA,IACN,SAAA,EAAW,MAAA;AAAA,IACX,QAAA,EAAU,0BAAA;AAAA,IACV,GAAG;AAAA,GACL;AACF;AAEO,SAAS,YAAA,CAAa,SAAA,GAAoC,EAAC,EAAkB;AAClF,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,eAAA;AAAA,IACT,MAAA,EAAQ,YAAA;AAAA,IACR,UAAA,EAAY,OAAA;AAAA,IACZ,KAAA,EAAO,EAAA;AAAA,IACP,mBAAA,EAAqB,CAAA;AAAA,IACrB,IAAA,EAAM,CAAC,UAAA,EAAY,CAAA;AAAA,IACnB,GAAG;AAAA,GACL;AACF;AAEO,SAAS,sBAAA,CACd,WAAA,EACA,EAAA,GAAK,oBAAA,EACS;AACd,EAAA,OAAO,kBAAA,CAAmB;AAAA,IACxB,EAAA;AAAA,IACA,UAAA,CAAW,EAAE,GAAA,EAAI,EAAG;AAClB,MAAA,OAAO,WAAA,CAAY,GAAA,CAAI,KAAK,CAAA,IAAK,EAAC;AAAA,IACpC;AAAA,GACD,CAAA;AACH","file":"index.js","sourcesContent":["import {\n defineStatProvider,\n type DfsEntryInput,\n type DfsLegInput,\n type PlayerGameLogEntryShape,\n type StatProvider,\n} from '@buzzr/dfs-engine';\n\nexport function makeGameLogEntry(\n overrides: Partial<PlayerGameLogEntryShape> = {},\n): PlayerGameLogEntryShape {\n return {\n date: '2026-05-07T00:00:00.000Z',\n minutes: '34:00',\n points: '24',\n rebounds: '7',\n assists: '5',\n steals: '1',\n blocks: '0',\n turnovers: '2',\n threeP: '3',\n ...overrides,\n };\n}\n\nexport function makeDfsLeg(overrides: Partial<DfsLegInput> = {}): DfsLegInput {\n return {\n legId: 'leg-1',\n playerName: 'Fixture Player',\n playerId: null,\n league: 'NBA',\n propType: 'Points',\n line: 20.5,\n direction: 'over',\n gameDate: '2026-05-07T00:00:00.000Z',\n ...overrides,\n };\n}\n\nexport function makeDfsEntry(overrides: Partial<DfsEntryInput> = {}): DfsEntryInput {\n return {\n entryId: 'fixture-entry',\n bookId: 'prizepicks',\n playTypeId: 'power',\n stake: 10,\n displayedMultiplier: 3,\n legs: [makeDfsLeg()],\n ...overrides,\n };\n}\n\nexport function createMockStatProvider(\n rowsByLegId: Record<string, PlayerGameLogEntryShape[]>,\n id = 'mock-stat-provider',\n): StatProvider {\n return defineStatProvider({\n id,\n getGameLog({ leg }) {\n return rowsByLegId[leg.legId] ?? [];\n },\n });\n}\n"]} | ||
| {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;AAQO,SAAS,gBAAA,CACd,SAAA,GAA8C,EAAC,EACtB;AACzB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA,IACN,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ,IAAA;AAAA,IACR,QAAA,EAAU,GAAA;AAAA,IACV,OAAA,EAAS,GAAA;AAAA,IACT,MAAA,EAAQ,GAAA;AAAA,IACR,MAAA,EAAQ,GAAA;AAAA,IACR,SAAA,EAAW,GAAA;AAAA,IACX,MAAA,EAAQ,GAAA;AAAA,IACR,GAAG;AAAA,GACL;AACF;AAEO,SAAS,UAAA,CAAW,SAAA,GAAkC,EAAC,EAAgB;AAC5E,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,OAAA;AAAA,IACP,UAAA,EAAY,gBAAA;AAAA,IACZ,QAAA,EAAU,IAAA;AAAA,IACV,MAAA,EAAQ,KAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,IAAA,EAAM,IAAA;AAAA,IACN,SAAA,EAAW,MAAA;AAAA,IACX,MAAA,EAAQ,IAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,0BAAA;AAAA,IACV,GAAG;AAAA,GACL;AACF;AAEO,SAAS,YAAA,CAAa,SAAA,GAAoC,EAAC,EAAkB;AAClF,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,eAAA;AAAA,IACT,MAAA,EAAQ,YAAA;AAAA,IACR,UAAA,EAAY,OAAA;AAAA,IACZ,KAAA,EAAO,EAAA;AAAA,IACP,mBAAA,EAAqB,CAAA;AAAA,IACrB,IAAA,EAAM,CAAC,UAAA,EAAY,CAAA;AAAA,IACnB,GAAG;AAAA,GACL;AACF;AAEO,SAAS,sBAAA,CACd,WAAA,EACA,EAAA,GAAK,oBAAA,EACS;AACd,EAAA,OAAO,kBAAA,CAAmB;AAAA,IACxB,EAAA;AAAA,IACA,UAAA,CAAW,EAAE,GAAA,EAAI,EAAG;AAClB,MAAA,OAAO,WAAA,CAAY,GAAA,CAAI,KAAK,CAAA,IAAK,EAAC;AAAA,IACpC;AAAA,GACD,CAAA;AACH;AAEO,SAAS,mBAAA,CAAoB,SAAA,GAAoC,EAAC,EAAkB;AACzF,EAAA,OAAO,YAAA,CAAa;AAAA,IAClB,KAAA,EAAO,CAAA;AAAA,IACP,IAAA,EAAM,CAAC,UAAA,CAAW,EAAE,KAAA,EAAO,KAAA,EAAO,CAAA,EAAG,UAAA,CAAW,EAAE,KAAA,EAAO,KAAA,EAAO,CAAC,CAAA;AAAA,IACjE,GAAG;AAAA,GACJ,CAAA;AACH","file":"index.js","sourcesContent":["import {\n defineStatProvider,\n type DfsEntryInput,\n type DfsLegInput,\n type PlayerGameLogEntryShape,\n type StatProvider,\n} from '@buzzr/dfs-engine';\n\nexport function makeGameLogEntry(\n overrides: Partial<PlayerGameLogEntryShape> = {},\n): PlayerGameLogEntryShape {\n return {\n date: '2026-05-07T00:00:00.000Z',\n minutes: '34:00',\n points: '24',\n rebounds: '7',\n assists: '5',\n steals: '1',\n blocks: '0',\n turnovers: '2',\n threeP: '3',\n ...overrides,\n };\n}\n\nexport function makeDfsLeg(overrides: Partial<DfsLegInput> = {}): DfsLegInput {\n return {\n legId: 'leg-1',\n playerName: 'Fixture Player',\n playerId: null,\n league: 'NBA',\n propType: 'Points',\n line: 20.5,\n direction: 'over',\n actual: null,\n status: 'pending',\n gameDate: '2026-05-07T00:00:00.000Z',\n ...overrides,\n };\n}\n\nexport function makeDfsEntry(overrides: Partial<DfsEntryInput> = {}): DfsEntryInput {\n return {\n entryId: 'fixture-entry',\n bookId: 'prizepicks',\n playTypeId: 'power',\n stake: 10,\n displayedMultiplier: 3,\n legs: [makeDfsLeg()],\n ...overrides,\n };\n}\n\nexport function createMockStatProvider(\n rowsByLegId: Record<string, PlayerGameLogEntryShape[]>,\n id = 'mock-stat-provider',\n): StatProvider {\n return defineStatProvider({\n id,\n getGameLog({ leg }) {\n return rowsByLegId[leg.legId] ?? [];\n },\n });\n}\n\nexport function makeInvalidDfsEntry(overrides: Partial<DfsEntryInput> = {}): DfsEntryInput {\n return makeDfsEntry({\n stake: 0,\n legs: [makeDfsLeg({ legId: 'dup' }), makeDfsLeg({ legId: 'dup' })],\n ...overrides,\n });\n}\n"]} |
+2
-2
| { | ||
| "name": "@buzzr/dfs-testkit", | ||
| "version": "3.0.1", | ||
| "version": "4.0.0", | ||
| "description": "Fixture builders and mock providers for @buzzr/dfs-engine consumers.", | ||
@@ -32,3 +32,3 @@ "license": "MIT", | ||
| "dependencies": { | ||
| "@buzzr/dfs-engine": "^3.0.1" | ||
| "@buzzr/dfs-engine": "^4.0.0" | ||
| }, | ||
@@ -35,0 +35,0 @@ "engines": { |
+4
-0
| # @buzzr/dfs-testkit | ||
| Fixture builders and mock providers for `@buzzr/dfs-engine` tests. | ||
| Fixtures emit v4-canonical DFS entries (`actual`, `status`, | ||
| `actualsByLegId`) and include `makeInvalidDfsEntry` for consumer validation | ||
| tests. |
13011
18.57%130
18.18%8
100%+ Added
- Removed
Updated