@omnitronix/happy-panda-game-engine 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @omnitronix/happy-panda-game-engine might be problematic. Click here for more details.
- package/README.md +6 -6
- package/dist/__tests__/comprehensive.test.d.ts +16 -0
- package/dist/__tests__/comprehensive.test.d.ts.map +1 -0
- package/dist/__tests__/comprehensive.test.js +491 -0
- package/dist/__tests__/comprehensive.test.js.map +1 -0
- package/dist/__tests__/debug-trigger-bonus.test.d.ts +8 -0
- package/dist/__tests__/debug-trigger-bonus.test.d.ts.map +1 -0
- package/dist/__tests__/{cheat-trigger-bonus.test.js → debug-trigger-bonus.test.js} +63 -66
- package/dist/__tests__/debug-trigger-bonus.test.js.map +1 -0
- package/dist/domain/{cheat-trigger-bonus-command.d.ts → debug-trigger-bonus-command.d.ts} +1 -8
- package/dist/domain/debug-trigger-bonus-command.d.ts.map +1 -0
- package/dist/domain/{cheat-trigger-bonus-command.js → debug-trigger-bonus-command.js} +1 -1
- package/dist/domain/debug-trigger-bonus-command.js.map +1 -0
- package/dist/domain/types.d.ts +0 -2
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/domain/types.js +0 -2
- package/dist/domain/types.js.map +1 -1
- package/dist/happy-panda-v1.game-engine.d.ts.map +1 -1
- package/dist/happy-panda-v1.game-engine.js +4 -3
- package/dist/happy-panda-v1.game-engine.js.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/cheat-trigger-bonus.test.d.ts +0 -11
- package/dist/__tests__/cheat-trigger-bonus.test.d.ts.map +0 -1
- package/dist/__tests__/cheat-trigger-bonus.test.js.map +0 -1
- package/dist/domain/cheat-trigger-bonus-command.d.ts.map +0 -1
- package/dist/domain/cheat-trigger-bonus-command.js.map +0 -1
package/README.md
CHANGED
|
@@ -268,17 +268,17 @@ The game engine supports 3 different command types:
|
|
|
268
268
|
|
|
269
269
|
**Returns**: Array of symbol definitions with names and values
|
|
270
270
|
|
|
271
|
-
### Debug
|
|
271
|
+
### Debug Commands (Testing/Admin)
|
|
272
272
|
|
|
273
|
-
The engine supports debug commands for QA testing via the dev-tools service. These commands are **blocked in REAL_MONEY mode**.
|
|
273
|
+
The engine supports debug commands for QA testing via the dev-tools service. These commands are **blocked in REAL_MONEY mode**. GLI-19 compliant terminology.
|
|
274
274
|
|
|
275
|
-
####
|
|
275
|
+
#### DEBUG_TRIGGER_BONUS
|
|
276
276
|
|
|
277
277
|
Force trigger a specific bonus round for testing.
|
|
278
278
|
|
|
279
279
|
**Payload**:
|
|
280
280
|
```typescript
|
|
281
|
-
interface
|
|
281
|
+
interface DebugTriggerBonusCommand {
|
|
282
282
|
sessionId: string;
|
|
283
283
|
bonusType: 'BONUS_JACKPOT' | 'BONUS_CHERRY' | 'BONUS_BELL' | 'BONUS_BAR1' | 'RESPIN_CHERRY';
|
|
284
284
|
betAmount: number;
|
|
@@ -291,8 +291,8 @@ const result = await engine.processCommand(
|
|
|
291
291
|
publicState,
|
|
292
292
|
privateState,
|
|
293
293
|
{
|
|
294
|
-
id: '
|
|
295
|
-
type: '
|
|
294
|
+
id: 'debug-cmd-1',
|
|
295
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
296
296
|
payload: {
|
|
297
297
|
sessionId: 'session-123',
|
|
298
298
|
bonusType: 'BONUS_JACKPOT', // or any other bonus type
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Test Suite for Happy Panda Game Engine
|
|
3
|
+
*
|
|
4
|
+
* Coverage:
|
|
5
|
+
* - Session initialization
|
|
6
|
+
* - Base game spins
|
|
7
|
+
* - All bonus types (BONUS_JACKPOT, BONUS_CHERRY, BONUS_BELL, BONUS_BAR1, RESPIN_CHERRY)
|
|
8
|
+
* - Debug triggers
|
|
9
|
+
* - Reality check flow
|
|
10
|
+
* - Connection loss/resume
|
|
11
|
+
* - Error handling
|
|
12
|
+
*
|
|
13
|
+
* Note: RTP and C++ parity tests are in separate files
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=comprehensive.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comprehensive.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/comprehensive.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Comprehensive Test Suite for Happy Panda Game Engine
|
|
4
|
+
*
|
|
5
|
+
* Coverage:
|
|
6
|
+
* - Session initialization
|
|
7
|
+
* - Base game spins
|
|
8
|
+
* - All bonus types (BONUS_JACKPOT, BONUS_CHERRY, BONUS_BELL, BONUS_BAR1, RESPIN_CHERRY)
|
|
9
|
+
* - Debug triggers
|
|
10
|
+
* - Reality check flow
|
|
11
|
+
* - Connection loss/resume
|
|
12
|
+
* - Error handling
|
|
13
|
+
*
|
|
14
|
+
* Note: RTP and C++ parity tests are in separate files
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const happy_panda_v1_game_engine_1 = require("../happy-panda-v1.game-engine");
|
|
18
|
+
const types_1 = require("../domain/types");
|
|
19
|
+
describe('Happy Panda - Comprehensive Test Suite', () => {
|
|
20
|
+
let engine;
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
engine = new happy_panda_v1_game_engine_1.HappyPandaV1GameEngine();
|
|
23
|
+
});
|
|
24
|
+
// ============================================================
|
|
25
|
+
// SESSION INITIALIZATION
|
|
26
|
+
// ============================================================
|
|
27
|
+
describe('Session Initialization', () => {
|
|
28
|
+
it('should initialize session with default config', async () => {
|
|
29
|
+
const command = {
|
|
30
|
+
id: 'init-1',
|
|
31
|
+
type: 'INIT_SESSION_STATE',
|
|
32
|
+
payload: {
|
|
33
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
34
|
+
betStake: 1,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
const result = await engine.processCommand(null, null, command);
|
|
38
|
+
expect(result.success).toBe(true);
|
|
39
|
+
expect(result.publicState).toBeDefined();
|
|
40
|
+
expect(result.privateState).toBeDefined();
|
|
41
|
+
expect(result.message).toBe('Session initialized');
|
|
42
|
+
});
|
|
43
|
+
it('should initialize with different game directions', async () => {
|
|
44
|
+
const directions = [types_1.GameDirection.SINGLE, types_1.GameDirection.BOTH];
|
|
45
|
+
for (const direction of directions) {
|
|
46
|
+
const result = await engine.processCommand(null, null, {
|
|
47
|
+
id: `init-${direction}`,
|
|
48
|
+
type: 'INIT_SESSION_STATE',
|
|
49
|
+
payload: {
|
|
50
|
+
gameDirection: direction,
|
|
51
|
+
betStake: 1,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
expect(result.success).toBe(true);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
it('should return game engine info', () => {
|
|
58
|
+
const info = engine.getGameEngineInfo();
|
|
59
|
+
expect(info.gameCode).toBe('happy-panda');
|
|
60
|
+
expect(info.version).toBe('1.0.0');
|
|
61
|
+
expect(info.rtp).toBeCloseTo(96.05, 1);
|
|
62
|
+
expect(info.gameType).toBe('slot');
|
|
63
|
+
expect(info.provider).toBe('Omnitronix');
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
// ============================================================
|
|
67
|
+
// BASE GAME SPINS
|
|
68
|
+
// ============================================================
|
|
69
|
+
describe('Base Game Spins', () => {
|
|
70
|
+
let publicState;
|
|
71
|
+
let privateState;
|
|
72
|
+
beforeEach(async () => {
|
|
73
|
+
const initResult = await engine.processCommand(null, null, {
|
|
74
|
+
id: 'init',
|
|
75
|
+
type: 'INIT_SESSION_STATE',
|
|
76
|
+
payload: {
|
|
77
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
78
|
+
betStake: 1,
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
publicState = initResult.publicState;
|
|
82
|
+
privateState = initResult.privateState;
|
|
83
|
+
});
|
|
84
|
+
it('should execute a base game spin', async () => {
|
|
85
|
+
const command = {
|
|
86
|
+
id: 'spin-1',
|
|
87
|
+
type: 'SPIN',
|
|
88
|
+
payload: {
|
|
89
|
+
sessionId: 'test-session',
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
const result = await engine.processCommand(publicState, privateState, command);
|
|
93
|
+
expect(result.success).toBe(true);
|
|
94
|
+
expect(result.publicState).toBeDefined();
|
|
95
|
+
expect(result.privateState).toBeDefined();
|
|
96
|
+
expect(result.outcome).toBeDefined();
|
|
97
|
+
expect(result.message).toBe('Spin completed');
|
|
98
|
+
});
|
|
99
|
+
it('should handle multiple consecutive spins', async () => {
|
|
100
|
+
let currentPublic = publicState;
|
|
101
|
+
let currentPrivate = privateState;
|
|
102
|
+
for (let i = 0; i < 10; i++) {
|
|
103
|
+
const result = await engine.processCommand(currentPublic, currentPrivate, {
|
|
104
|
+
id: `spin-${i}`,
|
|
105
|
+
type: 'SPIN',
|
|
106
|
+
payload: { sessionId: 'test' },
|
|
107
|
+
});
|
|
108
|
+
expect(result.success).toBe(true);
|
|
109
|
+
currentPublic = result.publicState;
|
|
110
|
+
currentPrivate = result.privateState;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
it('should fail spin without initialized state', async () => {
|
|
114
|
+
const result = await engine.processCommand(null, null, {
|
|
115
|
+
id: 'spin-fail',
|
|
116
|
+
type: 'SPIN',
|
|
117
|
+
payload: { sessionId: 'test' },
|
|
118
|
+
});
|
|
119
|
+
expect(result.success).toBe(false);
|
|
120
|
+
expect(result.message).toBe('State not initialized');
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
// ============================================================
|
|
124
|
+
// DEBUG TRIGGER - ALL BONUS TYPES
|
|
125
|
+
// ============================================================
|
|
126
|
+
describe('DEBUG_TRIGGER_BONUS - All Bonus Types', () => {
|
|
127
|
+
let publicState;
|
|
128
|
+
let privateState;
|
|
129
|
+
beforeEach(async () => {
|
|
130
|
+
const initResult = await engine.processCommand(null, null, {
|
|
131
|
+
id: 'init',
|
|
132
|
+
type: 'INIT_SESSION_STATE',
|
|
133
|
+
payload: {
|
|
134
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
135
|
+
betStake: 8,
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
publicState = initResult.publicState;
|
|
139
|
+
privateState = initResult.privateState;
|
|
140
|
+
});
|
|
141
|
+
const bonusTypes = [
|
|
142
|
+
'BONUS_JACKPOT',
|
|
143
|
+
'BONUS_CHERRY',
|
|
144
|
+
'BONUS_BELL',
|
|
145
|
+
'BONUS_BAR1',
|
|
146
|
+
'RESPIN_CHERRY',
|
|
147
|
+
];
|
|
148
|
+
bonusTypes.forEach((bonusType) => {
|
|
149
|
+
it(`should trigger ${bonusType} via debug command`, async () => {
|
|
150
|
+
const command = {
|
|
151
|
+
id: `debug-${bonusType}`,
|
|
152
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
153
|
+
payload: {
|
|
154
|
+
sessionId: 'test-session',
|
|
155
|
+
bonusType: bonusType,
|
|
156
|
+
betAmount: 8,
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
const result = await engine.processCommand(publicState, privateState, command);
|
|
160
|
+
expect(result.success).toBe(true);
|
|
161
|
+
expect(result.message).toBe('Bonus triggered via debug command');
|
|
162
|
+
expect(result.publicState.hasPendingBonus).toBe(true);
|
|
163
|
+
expect(result.outcome.triggeredBonus.bonusType).toBe(bonusType);
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
// ============================================================
|
|
168
|
+
// DEBUG TRIGGER - ERROR CASES
|
|
169
|
+
// ============================================================
|
|
170
|
+
describe('DEBUG_TRIGGER_BONUS - Error Cases', () => {
|
|
171
|
+
let publicState;
|
|
172
|
+
let privateState;
|
|
173
|
+
beforeEach(async () => {
|
|
174
|
+
const initResult = await engine.processCommand(null, null, {
|
|
175
|
+
id: 'init',
|
|
176
|
+
type: 'INIT_SESSION_STATE',
|
|
177
|
+
payload: {
|
|
178
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
179
|
+
betStake: 1,
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
publicState = initResult.publicState;
|
|
183
|
+
privateState = initResult.privateState;
|
|
184
|
+
});
|
|
185
|
+
it('should fail with unknown bonus type', async () => {
|
|
186
|
+
const result = await engine.processCommand(publicState, privateState, {
|
|
187
|
+
id: 'debug-fail',
|
|
188
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
189
|
+
payload: {
|
|
190
|
+
sessionId: 'test',
|
|
191
|
+
bonusType: 'INVALID_BONUS',
|
|
192
|
+
betAmount: 8,
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
expect(result.success).toBe(false);
|
|
196
|
+
expect(result.message).toContain('Unknown bonus type');
|
|
197
|
+
});
|
|
198
|
+
it('should fail without initialized state (null publicState)', async () => {
|
|
199
|
+
const result = await engine.processCommand(null, null, {
|
|
200
|
+
id: 'debug-null',
|
|
201
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
202
|
+
payload: {
|
|
203
|
+
sessionId: 'test',
|
|
204
|
+
bonusType: 'BONUS_JACKPOT',
|
|
205
|
+
betAmount: 8,
|
|
206
|
+
},
|
|
207
|
+
});
|
|
208
|
+
expect(result.success).toBe(false);
|
|
209
|
+
expect(result.message).toBe('State not initialized');
|
|
210
|
+
});
|
|
211
|
+
it('should fail without initialized state (null privateState)', async () => {
|
|
212
|
+
const result = await engine.processCommand(publicState, null, {
|
|
213
|
+
id: 'debug-null-private',
|
|
214
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
215
|
+
payload: {
|
|
216
|
+
sessionId: 'test',
|
|
217
|
+
bonusType: 'BONUS_JACKPOT',
|
|
218
|
+
betAmount: 8,
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
expect(result.success).toBe(false);
|
|
222
|
+
expect(result.message).toBe('State not initialized');
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
// ============================================================
|
|
226
|
+
// BONUS STATE MANAGEMENT
|
|
227
|
+
// ============================================================
|
|
228
|
+
describe('Bonus State Management', () => {
|
|
229
|
+
let publicState;
|
|
230
|
+
let privateState;
|
|
231
|
+
beforeEach(async () => {
|
|
232
|
+
const initResult = await engine.processCommand(null, null, {
|
|
233
|
+
id: 'init',
|
|
234
|
+
type: 'INIT_SESSION_STATE',
|
|
235
|
+
payload: {
|
|
236
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
237
|
+
betStake: 8,
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
publicState = initResult.publicState;
|
|
241
|
+
privateState = initResult.privateState;
|
|
242
|
+
});
|
|
243
|
+
it('should increment pending bonus counter', async () => {
|
|
244
|
+
const initialJackpot = privateState.pendingBonuses?.jackpot || 0;
|
|
245
|
+
const result = await engine.processCommand(publicState, privateState, {
|
|
246
|
+
id: 'debug-jackpot',
|
|
247
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
248
|
+
payload: {
|
|
249
|
+
sessionId: 'test',
|
|
250
|
+
bonusType: 'BONUS_JACKPOT',
|
|
251
|
+
betAmount: 8,
|
|
252
|
+
},
|
|
253
|
+
});
|
|
254
|
+
expect(result.privateState.pendingBonuses.jackpot).toBe(initialJackpot + 1);
|
|
255
|
+
});
|
|
256
|
+
it('should allow stacking multiple bonuses', async () => {
|
|
257
|
+
let currentPublic = publicState;
|
|
258
|
+
let currentPrivate = privateState;
|
|
259
|
+
// Trigger 3 cherry bonuses
|
|
260
|
+
for (let i = 0; i < 3; i++) {
|
|
261
|
+
const result = await engine.processCommand(currentPublic, currentPrivate, {
|
|
262
|
+
id: `debug-cherry-${i}`,
|
|
263
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
264
|
+
payload: {
|
|
265
|
+
sessionId: 'test',
|
|
266
|
+
bonusType: 'BONUS_CHERRY',
|
|
267
|
+
betAmount: 8,
|
|
268
|
+
},
|
|
269
|
+
});
|
|
270
|
+
expect(result.success).toBe(true);
|
|
271
|
+
currentPublic = result.publicState;
|
|
272
|
+
currentPrivate = result.privateState;
|
|
273
|
+
}
|
|
274
|
+
expect(currentPrivate.pendingBonuses.cherry).toBe(3);
|
|
275
|
+
});
|
|
276
|
+
it('should not modify other bonus counters', async () => {
|
|
277
|
+
const initialBell = privateState.pendingBonuses?.bell || 0;
|
|
278
|
+
const result = await engine.processCommand(publicState, privateState, {
|
|
279
|
+
id: 'debug-cherry',
|
|
280
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
281
|
+
payload: {
|
|
282
|
+
sessionId: 'test',
|
|
283
|
+
bonusType: 'BONUS_CHERRY',
|
|
284
|
+
betAmount: 8,
|
|
285
|
+
},
|
|
286
|
+
});
|
|
287
|
+
expect(result.privateState.pendingBonuses.bell).toBe(initialBell);
|
|
288
|
+
});
|
|
289
|
+
});
|
|
290
|
+
// ============================================================
|
|
291
|
+
// REALITY CHECK
|
|
292
|
+
// ============================================================
|
|
293
|
+
describe('Reality Check', () => {
|
|
294
|
+
let publicState;
|
|
295
|
+
let privateState;
|
|
296
|
+
beforeEach(async () => {
|
|
297
|
+
const initResult = await engine.processCommand(null, null, {
|
|
298
|
+
id: 'init',
|
|
299
|
+
type: 'INIT_SESSION_STATE',
|
|
300
|
+
payload: {
|
|
301
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
302
|
+
betStake: 1,
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
publicState = initResult.publicState;
|
|
306
|
+
privateState = initResult.privateState;
|
|
307
|
+
});
|
|
308
|
+
it('should handle reality check acknowledgment command', async () => {
|
|
309
|
+
const command = {
|
|
310
|
+
id: 'reality-check',
|
|
311
|
+
type: 'ACKNOWLEDGE_REALITY_CHECK',
|
|
312
|
+
payload: {
|
|
313
|
+
sessionId: 'test-session',
|
|
314
|
+
acknowledged: true,
|
|
315
|
+
},
|
|
316
|
+
};
|
|
317
|
+
const result = await engine.processCommand(publicState, privateState, command);
|
|
318
|
+
// Reality check may not be implemented - verify no crash
|
|
319
|
+
expect(result).toBeDefined();
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
// ============================================================
|
|
323
|
+
// SESSION MANAGEMENT
|
|
324
|
+
// ============================================================
|
|
325
|
+
describe('Session Management', () => {
|
|
326
|
+
let publicState;
|
|
327
|
+
let privateState;
|
|
328
|
+
beforeEach(async () => {
|
|
329
|
+
const initResult = await engine.processCommand(null, null, {
|
|
330
|
+
id: 'init',
|
|
331
|
+
type: 'INIT_SESSION_STATE',
|
|
332
|
+
payload: {
|
|
333
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
334
|
+
betStake: 1,
|
|
335
|
+
},
|
|
336
|
+
});
|
|
337
|
+
publicState = initResult.publicState;
|
|
338
|
+
privateState = initResult.privateState;
|
|
339
|
+
});
|
|
340
|
+
it('should handle get symbols command', async () => {
|
|
341
|
+
const result = await engine.processCommand(publicState, privateState, {
|
|
342
|
+
id: 'symbols',
|
|
343
|
+
type: 'GET_SYMBOLS',
|
|
344
|
+
payload: {},
|
|
345
|
+
});
|
|
346
|
+
expect(result).toBeDefined();
|
|
347
|
+
expect(result.success).toBe(true);
|
|
348
|
+
expect(result.message).toBe('Symbols retrieved');
|
|
349
|
+
});
|
|
350
|
+
});
|
|
351
|
+
// ============================================================
|
|
352
|
+
// ERROR HANDLING
|
|
353
|
+
// ============================================================
|
|
354
|
+
describe('Error Handling', () => {
|
|
355
|
+
it('should handle unknown command type', async () => {
|
|
356
|
+
const initResult = await engine.processCommand(null, null, {
|
|
357
|
+
id: 'init',
|
|
358
|
+
type: 'INIT_SESSION_STATE',
|
|
359
|
+
payload: {
|
|
360
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
361
|
+
betStake: 1,
|
|
362
|
+
},
|
|
363
|
+
});
|
|
364
|
+
const result = await engine.processCommand(initResult.publicState, initResult.privateState, {
|
|
365
|
+
id: 'unknown',
|
|
366
|
+
type: 'UNKNOWN_COMMAND',
|
|
367
|
+
payload: {},
|
|
368
|
+
});
|
|
369
|
+
expect(result.success).toBe(false);
|
|
370
|
+
expect(result.message).toContain('Unknown command');
|
|
371
|
+
});
|
|
372
|
+
});
|
|
373
|
+
// ============================================================
|
|
374
|
+
// STATE PERSISTENCE (Connection Loss/Resume)
|
|
375
|
+
// ============================================================
|
|
376
|
+
describe('State Persistence', () => {
|
|
377
|
+
it('should maintain state across operations', async () => {
|
|
378
|
+
// Initialize
|
|
379
|
+
const init = await engine.processCommand(null, null, {
|
|
380
|
+
id: 'init',
|
|
381
|
+
type: 'INIT_SESSION_STATE',
|
|
382
|
+
payload: {
|
|
383
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
384
|
+
betStake: 1,
|
|
385
|
+
},
|
|
386
|
+
});
|
|
387
|
+
// Spin
|
|
388
|
+
const spin1 = await engine.processCommand(init.publicState, init.privateState, {
|
|
389
|
+
id: 'spin-1',
|
|
390
|
+
type: 'SPIN',
|
|
391
|
+
payload: { sessionId: 'test' },
|
|
392
|
+
});
|
|
393
|
+
// Simulate reconnect by creating new engine with same state
|
|
394
|
+
const newEngine = new happy_panda_v1_game_engine_1.HappyPandaV1GameEngine();
|
|
395
|
+
const spin2 = await newEngine.processCommand(spin1.publicState, spin1.privateState, {
|
|
396
|
+
id: 'spin-2',
|
|
397
|
+
type: 'SPIN',
|
|
398
|
+
payload: { sessionId: 'test' },
|
|
399
|
+
});
|
|
400
|
+
expect(spin2.success).toBe(true);
|
|
401
|
+
});
|
|
402
|
+
it('should serialize and deserialize state correctly', async () => {
|
|
403
|
+
const init = await engine.processCommand(null, null, {
|
|
404
|
+
id: 'init',
|
|
405
|
+
type: 'INIT_SESSION_STATE',
|
|
406
|
+
payload: {
|
|
407
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
408
|
+
betStake: 1,
|
|
409
|
+
},
|
|
410
|
+
});
|
|
411
|
+
// Serialize state
|
|
412
|
+
const serializedPublic = JSON.stringify(init.publicState);
|
|
413
|
+
const serializedPrivate = JSON.stringify(init.privateState);
|
|
414
|
+
// Deserialize
|
|
415
|
+
const restoredPublic = JSON.parse(serializedPublic);
|
|
416
|
+
const restoredPrivate = JSON.parse(serializedPrivate);
|
|
417
|
+
// Continue with restored state
|
|
418
|
+
const result = await engine.processCommand(restoredPublic, restoredPrivate, {
|
|
419
|
+
id: 'spin',
|
|
420
|
+
type: 'SPIN',
|
|
421
|
+
payload: { sessionId: 'test' },
|
|
422
|
+
});
|
|
423
|
+
expect(result.success).toBe(true);
|
|
424
|
+
});
|
|
425
|
+
it('should preserve pending bonuses across reconnection', async () => {
|
|
426
|
+
const init = await engine.processCommand(null, null, {
|
|
427
|
+
id: 'init',
|
|
428
|
+
type: 'INIT_SESSION_STATE',
|
|
429
|
+
payload: {
|
|
430
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
431
|
+
betStake: 8,
|
|
432
|
+
},
|
|
433
|
+
});
|
|
434
|
+
// Trigger bonus
|
|
435
|
+
const bonus = await engine.processCommand(init.publicState, init.privateState, {
|
|
436
|
+
id: 'trigger',
|
|
437
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
438
|
+
payload: {
|
|
439
|
+
sessionId: 'test',
|
|
440
|
+
bonusType: 'BONUS_BELL',
|
|
441
|
+
betAmount: 8,
|
|
442
|
+
},
|
|
443
|
+
});
|
|
444
|
+
expect(bonus.publicState.hasPendingBonus).toBe(true);
|
|
445
|
+
// Serialize and restore
|
|
446
|
+
const serializedPublic = JSON.stringify(bonus.publicState);
|
|
447
|
+
const serializedPrivate = JSON.stringify(bonus.privateState);
|
|
448
|
+
const restoredPublic = JSON.parse(serializedPublic);
|
|
449
|
+
const restoredPrivate = JSON.parse(serializedPrivate);
|
|
450
|
+
expect(restoredPublic.hasPendingBonus).toBe(true);
|
|
451
|
+
expect(restoredPrivate.pendingBonuses.bell).toBe(1);
|
|
452
|
+
});
|
|
453
|
+
it('should preserve game direction across reconnection', async () => {
|
|
454
|
+
const init = await engine.processCommand(null, null, {
|
|
455
|
+
id: 'init',
|
|
456
|
+
type: 'INIT_SESSION_STATE',
|
|
457
|
+
payload: {
|
|
458
|
+
gameDirection: types_1.GameDirection.BOTH,
|
|
459
|
+
betStake: 1,
|
|
460
|
+
},
|
|
461
|
+
});
|
|
462
|
+
const serialized = JSON.stringify(init.publicState);
|
|
463
|
+
const restored = JSON.parse(serialized);
|
|
464
|
+
expect(restored.gameDirection).toBe(types_1.GameDirection.BOTH);
|
|
465
|
+
});
|
|
466
|
+
});
|
|
467
|
+
// ============================================================
|
|
468
|
+
// RNG OUTCOME TRACKING
|
|
469
|
+
// ============================================================
|
|
470
|
+
describe('RNG Outcome Tracking', () => {
|
|
471
|
+
it('should include rngOutcome in spin response', async () => {
|
|
472
|
+
const init = await engine.processCommand(null, null, {
|
|
473
|
+
id: 'init',
|
|
474
|
+
type: 'INIT_SESSION_STATE',
|
|
475
|
+
payload: {
|
|
476
|
+
gameDirection: types_1.GameDirection.SINGLE,
|
|
477
|
+
betStake: 1,
|
|
478
|
+
},
|
|
479
|
+
});
|
|
480
|
+
const spin = await engine.processCommand(init.publicState, init.privateState, {
|
|
481
|
+
id: 'spin',
|
|
482
|
+
type: 'SPIN',
|
|
483
|
+
payload: { sessionId: 'test' },
|
|
484
|
+
});
|
|
485
|
+
expect(spin.success).toBe(true);
|
|
486
|
+
// RNG outcome should be tracked for audit
|
|
487
|
+
expect(spin.rngOutcome).toBeDefined();
|
|
488
|
+
});
|
|
489
|
+
});
|
|
490
|
+
});
|
|
491
|
+
//# sourceMappingURL=comprehensive.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comprehensive.test.js","sourceRoot":"","sources":["../../src/__tests__/comprehensive.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DEBUG_TRIGGER_BONUS Command Tests (GLI-19 compliant)
|
|
3
|
+
*
|
|
4
|
+
* Tests for the debug command that allows triggering bonus rounds for dev/testing.
|
|
5
|
+
* This command is used by dev-tools to test bonus flows without waiting for natural triggers.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=debug-trigger-bonus.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-trigger-bonus.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/debug-trigger-bonus.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* DEBUG_TRIGGER_BONUS
|
|
3
|
+
* DEBUG_TRIGGER_BONUS Command Tests (GLI-19 compliant)
|
|
4
4
|
*
|
|
5
5
|
* Tests for the debug command that allows triggering bonus rounds for dev/testing.
|
|
6
6
|
* This command is used by dev-tools to test bonus flows without waiting for natural triggers.
|
|
7
|
-
*
|
|
8
|
-
* GLI-19 Compliance: DEBUG_TRIGGER_BONUS is the preferred command type.
|
|
9
|
-
* CHEAT_TRIGGER_BONUS is deprecated but still supported for backward compatibility.
|
|
10
7
|
*/
|
|
11
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
9
|
const happy_panda_v1_game_engine_1 = require("../happy-panda-v1.game-engine");
|
|
13
10
|
const happy_panda_config_1 = require("../config/happy-panda.config");
|
|
14
11
|
const types_1 = require("../domain/types");
|
|
15
|
-
describe('DEBUG_TRIGGER_BONUS
|
|
12
|
+
describe('DEBUG_TRIGGER_BONUS Command', () => {
|
|
16
13
|
let engine;
|
|
17
14
|
beforeEach(() => {
|
|
18
15
|
engine = new happy_panda_v1_game_engine_1.HappyPandaV1GameEngine();
|
|
@@ -39,16 +36,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
39
36
|
describe('BONUS_JACKPOT', () => {
|
|
40
37
|
it('should trigger BONUS_JACKPOT successfully', async () => {
|
|
41
38
|
const { publicState, privateState } = await initializeSession('jackpot-test');
|
|
42
|
-
const
|
|
43
|
-
id: '
|
|
44
|
-
type: '
|
|
39
|
+
const debugCommand = {
|
|
40
|
+
id: 'debug-jackpot-1',
|
|
41
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
45
42
|
payload: {
|
|
46
43
|
sessionId: 'jackpot-test',
|
|
47
44
|
bonusType: 'BONUS_JACKPOT',
|
|
48
45
|
betAmount: 8,
|
|
49
46
|
},
|
|
50
47
|
};
|
|
51
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
48
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
52
49
|
expect(result.success).toBe(true);
|
|
53
50
|
expect(result.message).toBe('Bonus triggered via debug command');
|
|
54
51
|
expect(result.publicState.hasPendingBonus).toBe(true);
|
|
@@ -61,16 +58,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
61
58
|
describe('BONUS_CHERRY', () => {
|
|
62
59
|
it('should trigger BONUS_CHERRY successfully', async () => {
|
|
63
60
|
const { publicState, privateState } = await initializeSession('cherry-test');
|
|
64
|
-
const
|
|
65
|
-
id: '
|
|
66
|
-
type: '
|
|
61
|
+
const debugCommand = {
|
|
62
|
+
id: 'debug-cherry-1',
|
|
63
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
67
64
|
payload: {
|
|
68
65
|
sessionId: 'cherry-test',
|
|
69
66
|
bonusType: 'BONUS_CHERRY',
|
|
70
67
|
betAmount: 8,
|
|
71
68
|
},
|
|
72
69
|
};
|
|
73
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
70
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
74
71
|
expect(result.success).toBe(true);
|
|
75
72
|
expect(result.message).toBe('Bonus triggered via debug command');
|
|
76
73
|
expect(result.publicState.hasPendingBonus).toBe(true);
|
|
@@ -83,16 +80,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
83
80
|
describe('BONUS_BELL', () => {
|
|
84
81
|
it('should trigger BONUS_BELL successfully', async () => {
|
|
85
82
|
const { publicState, privateState } = await initializeSession('bell-test');
|
|
86
|
-
const
|
|
87
|
-
id: '
|
|
88
|
-
type: '
|
|
83
|
+
const debugCommand = {
|
|
84
|
+
id: 'debug-bell-1',
|
|
85
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
89
86
|
payload: {
|
|
90
87
|
sessionId: 'bell-test',
|
|
91
88
|
bonusType: 'BONUS_BELL',
|
|
92
89
|
betAmount: 8,
|
|
93
90
|
},
|
|
94
91
|
};
|
|
95
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
92
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
96
93
|
expect(result.success).toBe(true);
|
|
97
94
|
expect(result.message).toBe('Bonus triggered via debug command');
|
|
98
95
|
expect(result.publicState.hasPendingBonus).toBe(true);
|
|
@@ -105,16 +102,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
105
102
|
describe('BONUS_BAR1', () => {
|
|
106
103
|
it('should trigger BONUS_BAR1 successfully', async () => {
|
|
107
104
|
const { publicState, privateState } = await initializeSession('bar1-test');
|
|
108
|
-
const
|
|
109
|
-
id: '
|
|
110
|
-
type: '
|
|
105
|
+
const debugCommand = {
|
|
106
|
+
id: 'debug-bar1-1',
|
|
107
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
111
108
|
payload: {
|
|
112
109
|
sessionId: 'bar1-test',
|
|
113
110
|
bonusType: 'BONUS_BAR1',
|
|
114
111
|
betAmount: 8,
|
|
115
112
|
},
|
|
116
113
|
};
|
|
117
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
114
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
118
115
|
expect(result.success).toBe(true);
|
|
119
116
|
expect(result.message).toBe('Bonus triggered via debug command');
|
|
120
117
|
expect(result.publicState.hasPendingBonus).toBe(true);
|
|
@@ -127,16 +124,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
127
124
|
describe('RESPIN_CHERRY', () => {
|
|
128
125
|
it('should trigger RESPIN_CHERRY successfully', async () => {
|
|
129
126
|
const { publicState, privateState } = await initializeSession('respin-test');
|
|
130
|
-
const
|
|
131
|
-
id: '
|
|
132
|
-
type: '
|
|
127
|
+
const debugCommand = {
|
|
128
|
+
id: 'debug-respin-1',
|
|
129
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
133
130
|
payload: {
|
|
134
131
|
sessionId: 'respin-test',
|
|
135
132
|
bonusType: 'RESPIN_CHERRY',
|
|
136
133
|
betAmount: 8,
|
|
137
134
|
},
|
|
138
135
|
};
|
|
139
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
136
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
140
137
|
expect(result.success).toBe(true);
|
|
141
138
|
expect(result.message).toBe('Bonus triggered via debug command');
|
|
142
139
|
expect(result.publicState.hasPendingBonus).toBe(true);
|
|
@@ -149,16 +146,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
149
146
|
describe('Error Cases', () => {
|
|
150
147
|
it('should fail with unknown bonusType', async () => {
|
|
151
148
|
const { publicState, privateState } = await initializeSession('unknown-bonus-test');
|
|
152
|
-
const
|
|
153
|
-
id: '
|
|
154
|
-
type: '
|
|
149
|
+
const debugCommand = {
|
|
150
|
+
id: 'debug-unknown-1',
|
|
151
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
155
152
|
payload: {
|
|
156
153
|
sessionId: 'unknown-bonus-test',
|
|
157
154
|
bonusType: 'INVALID_BONUS_TYPE',
|
|
158
155
|
betAmount: 8,
|
|
159
156
|
},
|
|
160
157
|
};
|
|
161
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
158
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
162
159
|
expect(result.success).toBe(false);
|
|
163
160
|
expect(result.message).toContain('Unknown bonus type');
|
|
164
161
|
expect(result.message).toContain('INVALID_BONUS_TYPE');
|
|
@@ -166,31 +163,31 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
166
163
|
expect(result.publicState.hasPendingBonus).toBe(publicState.hasPendingBonus);
|
|
167
164
|
});
|
|
168
165
|
it('should fail when state is not initialized (null publicState)', async () => {
|
|
169
|
-
const
|
|
170
|
-
id: '
|
|
171
|
-
type: '
|
|
166
|
+
const debugCommand = {
|
|
167
|
+
id: 'debug-null-public-1',
|
|
168
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
172
169
|
payload: {
|
|
173
170
|
sessionId: 'null-test',
|
|
174
171
|
bonusType: 'BONUS_JACKPOT',
|
|
175
172
|
betAmount: 8,
|
|
176
173
|
},
|
|
177
174
|
};
|
|
178
|
-
const result = await engine.processCommand(null, null,
|
|
175
|
+
const result = await engine.processCommand(null, null, debugCommand);
|
|
179
176
|
expect(result.success).toBe(false);
|
|
180
177
|
expect(result.message).toBe('State not initialized');
|
|
181
178
|
});
|
|
182
179
|
it('should fail when state is not initialized (null privateState)', async () => {
|
|
183
180
|
const { publicState } = await initializeSession('partial-state-test');
|
|
184
|
-
const
|
|
185
|
-
id: '
|
|
186
|
-
type: '
|
|
181
|
+
const debugCommand = {
|
|
182
|
+
id: 'debug-null-private-1',
|
|
183
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
187
184
|
payload: {
|
|
188
185
|
sessionId: 'partial-state-test',
|
|
189
186
|
bonusType: 'BONUS_JACKPOT',
|
|
190
187
|
betAmount: 8,
|
|
191
188
|
},
|
|
192
189
|
};
|
|
193
|
-
const result = await engine.processCommand(publicState, null,
|
|
190
|
+
const result = await engine.processCommand(publicState, null, debugCommand);
|
|
194
191
|
expect(result.success).toBe(false);
|
|
195
192
|
expect(result.message).toBe('State not initialized');
|
|
196
193
|
});
|
|
@@ -198,16 +195,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
198
195
|
describe('Outcome Structure', () => {
|
|
199
196
|
it('should return triggeredBonus with bonusId, bonusType, and betAmount', async () => {
|
|
200
197
|
const { publicState, privateState } = await initializeSession('outcome-test');
|
|
201
|
-
const
|
|
202
|
-
id: '
|
|
203
|
-
type: '
|
|
198
|
+
const debugCommand = {
|
|
199
|
+
id: 'debug-outcome-1',
|
|
200
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
204
201
|
payload: {
|
|
205
202
|
sessionId: 'outcome-test',
|
|
206
203
|
bonusType: 'BONUS_CHERRY',
|
|
207
204
|
betAmount: 16,
|
|
208
205
|
},
|
|
209
206
|
};
|
|
210
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
207
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
211
208
|
expect(result.success).toBe(true);
|
|
212
209
|
expect(result.outcome).toBeDefined();
|
|
213
210
|
const outcome = result.outcome;
|
|
@@ -229,16 +226,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
229
226
|
bar1: privateState.pendingBonuses.bar1,
|
|
230
227
|
respin: privateState.pendingBonuses.respin,
|
|
231
228
|
};
|
|
232
|
-
const
|
|
233
|
-
id: '
|
|
234
|
-
type: '
|
|
229
|
+
const debugCommand = {
|
|
230
|
+
id: 'debug-preserve-1',
|
|
231
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
235
232
|
payload: {
|
|
236
233
|
sessionId: 'preserve-test',
|
|
237
234
|
bonusType: 'BONUS_BELL',
|
|
238
235
|
betAmount: 8,
|
|
239
236
|
},
|
|
240
237
|
};
|
|
241
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
238
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
242
239
|
expect(result.success).toBe(true);
|
|
243
240
|
// Bell should be incremented
|
|
244
241
|
expect(result.privateState.pendingBonuses.bell).toBe(originalCounters.bell + 1);
|
|
@@ -250,16 +247,16 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
250
247
|
});
|
|
251
248
|
it('should preserve other public state fields', async () => {
|
|
252
249
|
const { publicState, privateState } = await initializeSession('public-preserve-test');
|
|
253
|
-
const
|
|
254
|
-
id: '
|
|
255
|
-
type: '
|
|
250
|
+
const debugCommand = {
|
|
251
|
+
id: 'debug-public-preserve-1',
|
|
252
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
256
253
|
payload: {
|
|
257
254
|
sessionId: 'public-preserve-test',
|
|
258
255
|
bonusType: 'BONUS_JACKPOT',
|
|
259
256
|
betAmount: 8,
|
|
260
257
|
},
|
|
261
258
|
};
|
|
262
|
-
const result = await engine.processCommand(publicState, privateState,
|
|
259
|
+
const result = await engine.processCommand(publicState, privateState, debugCommand);
|
|
263
260
|
expect(result.success).toBe(true);
|
|
264
261
|
// These should remain unchanged
|
|
265
262
|
expect(result.publicState.gameDirection).toBe(publicState.gameDirection);
|
|
@@ -278,29 +275,29 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
278
275
|
it('should allow triggering multiple bonuses sequentially', async () => {
|
|
279
276
|
const { publicState, privateState } = await initializeSession('multi-test');
|
|
280
277
|
// First trigger
|
|
281
|
-
const
|
|
282
|
-
id: '
|
|
283
|
-
type: '
|
|
278
|
+
const debugCommand1 = {
|
|
279
|
+
id: 'debug-multi-1',
|
|
280
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
284
281
|
payload: {
|
|
285
282
|
sessionId: 'multi-test',
|
|
286
283
|
bonusType: 'BONUS_CHERRY',
|
|
287
284
|
betAmount: 8,
|
|
288
285
|
},
|
|
289
286
|
};
|
|
290
|
-
const result1 = await engine.processCommand(publicState, privateState,
|
|
287
|
+
const result1 = await engine.processCommand(publicState, privateState, debugCommand1);
|
|
291
288
|
expect(result1.success).toBe(true);
|
|
292
289
|
expect(result1.privateState.pendingBonuses.cherry).toBe(1);
|
|
293
290
|
// Second trigger with updated state
|
|
294
|
-
const
|
|
295
|
-
id: '
|
|
296
|
-
type: '
|
|
291
|
+
const debugCommand2 = {
|
|
292
|
+
id: 'debug-multi-2',
|
|
293
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
297
294
|
payload: {
|
|
298
295
|
sessionId: 'multi-test',
|
|
299
296
|
bonusType: 'BONUS_BELL',
|
|
300
297
|
betAmount: 8,
|
|
301
298
|
},
|
|
302
299
|
};
|
|
303
|
-
const result2 = await engine.processCommand(result1.publicState, result1.privateState,
|
|
300
|
+
const result2 = await engine.processCommand(result1.publicState, result1.privateState, debugCommand2);
|
|
304
301
|
expect(result2.success).toBe(true);
|
|
305
302
|
expect(result2.privateState.pendingBonuses.cherry).toBe(1);
|
|
306
303
|
expect(result2.privateState.pendingBonuses.bell).toBe(1);
|
|
@@ -308,32 +305,32 @@ describe('DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command', () => {
|
|
|
308
305
|
it('should allow stacking the same bonus type', async () => {
|
|
309
306
|
const { publicState, privateState } = await initializeSession('stack-test');
|
|
310
307
|
// First trigger
|
|
311
|
-
const
|
|
312
|
-
id: '
|
|
313
|
-
type: '
|
|
308
|
+
const debugCommand1 = {
|
|
309
|
+
id: 'debug-stack-1',
|
|
310
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
314
311
|
payload: {
|
|
315
312
|
sessionId: 'stack-test',
|
|
316
313
|
bonusType: 'BONUS_JACKPOT',
|
|
317
314
|
betAmount: 8,
|
|
318
315
|
},
|
|
319
316
|
};
|
|
320
|
-
const result1 = await engine.processCommand(publicState, privateState,
|
|
317
|
+
const result1 = await engine.processCommand(publicState, privateState, debugCommand1);
|
|
321
318
|
expect(result1.success).toBe(true);
|
|
322
319
|
expect(result1.privateState.pendingBonuses.jackpot).toBe(1);
|
|
323
320
|
// Second trigger of same type
|
|
324
|
-
const
|
|
325
|
-
id: '
|
|
326
|
-
type: '
|
|
321
|
+
const debugCommand2 = {
|
|
322
|
+
id: 'debug-stack-2',
|
|
323
|
+
type: 'DEBUG_TRIGGER_BONUS',
|
|
327
324
|
payload: {
|
|
328
325
|
sessionId: 'stack-test',
|
|
329
326
|
bonusType: 'BONUS_JACKPOT',
|
|
330
327
|
betAmount: 8,
|
|
331
328
|
},
|
|
332
329
|
};
|
|
333
|
-
const result2 = await engine.processCommand(result1.publicState, result1.privateState,
|
|
330
|
+
const result2 = await engine.processCommand(result1.publicState, result1.privateState, debugCommand2);
|
|
334
331
|
expect(result2.success).toBe(true);
|
|
335
332
|
expect(result2.privateState.pendingBonuses.jackpot).toBe(2);
|
|
336
333
|
});
|
|
337
334
|
});
|
|
338
335
|
});
|
|
339
|
-
//# sourceMappingURL=
|
|
336
|
+
//# sourceMappingURL=debug-trigger-bonus.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-trigger-bonus.test.js","sourceRoot":"","sources":["../../src/__tests__/debug-trigger-bonus.test.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,8EAA0F;AAC1F,qEAAwD;AACxD,2CAIyB;AAEzB,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAI,MAA8B,CAAC;IAEnC,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAI,mDAAsB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH;;OAEG;IACH,KAAK,UAAU,iBAAiB,CAAC,YAAoB,cAAc;QAIjE,MAAM,WAAW,GAAsB;YACrC,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP,aAAa,EAAE,qBAAa,CAAC,MAAM;gBACnC,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAE9E,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,6BAAQ,CAAC,aAAa,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACjG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAE,MAAM,CAAC,OAAqD,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAE7E,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,aAAa;oBACxB,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,6BAAQ,CAAC,YAAY,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAE,MAAM,CAAC,OAAqD,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAE3E,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,WAAW;oBACtB,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,6BAAQ,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC3F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAE,MAAM,CAAC,OAAqD,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAE3E,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,WAAW;oBACtB,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,6BAAQ,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC3F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAE,MAAM,CAAC,OAAqD,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAE7E,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,aAAa;oBACxB,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,6BAAQ,CAAC,aAAa,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAE,MAAM,CAAC,OAAqD,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YAEpF,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,oBAAoB;oBAC/B,SAAS,EAAE,oBAAoB;oBAC/B,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACvD,gCAAgC;YAChC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,qBAAqB;gBACzB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,WAAW;oBACtB,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAErE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YAEtE,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,sBAAsB;gBAC1B,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,oBAAoB;oBAC/B,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAE5E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAE9E,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,EAAE;iBACd;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAErC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAwF,CAAC;YAChH,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,CAAC,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACxE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAE/E,MAAM,gBAAgB,GAAG;gBACvB,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,OAAO;gBAC5C,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,MAAM;gBAC1C,IAAI,EAAE,YAAY,CAAC,cAAc,CAAC,IAAI;gBACtC,IAAI,EAAE,YAAY,CAAC,cAAc,CAAC,IAAI;gBACtC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,MAAM;aAC3C,CAAC;YAEF,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,kBAAkB;gBACtB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,6BAA6B;YAC7B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAChF,qCAAqC;YACrC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAClF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAChF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5E,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;YAEtF,MAAM,YAAY,GAAsB;gBACtC,EAAE,EAAE,yBAAyB;gBAC7B,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,sBAAsB;oBACjC,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,gCAAgC;YAChC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACzE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC7E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC3E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACjF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC/E,qCAAqC;YACrC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAE5E,gBAAgB;YAChB,MAAM,aAAa,GAAsB;gBACvC,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YACtF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE3D,oCAAoC;YACpC,MAAM,aAAa,GAAsB;gBACvC,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YACtG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAE5E,gBAAgB;YAChB,MAAM,aAAa,GAAsB;gBACvC,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YACtF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE5D,8BAA8B;YAC9B,MAAM,aAAa,GAAsB;gBACvC,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE;oBACP,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YACtG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -8,17 +8,10 @@
|
|
|
8
8
|
* - BONUS_BELL: Bell bonus (5 free spins + pool jackpot)
|
|
9
9
|
* - BONUS_BAR1: Bar1 bonus (7 free spins with Super Bars)
|
|
10
10
|
* - RESPIN_CHERRY: Center cherry respin
|
|
11
|
-
*
|
|
12
|
-
* Note: CHEAT_TRIGGER_BONUS is deprecated but still supported for backward compatibility.
|
|
13
|
-
* New integrations should use DEBUG_TRIGGER_BONUS.
|
|
14
11
|
*/
|
|
15
12
|
export interface DebugTriggerBonusCommand {
|
|
16
13
|
sessionId: string;
|
|
17
14
|
bonusType: 'BONUS_JACKPOT' | 'BONUS_CHERRY' | 'BONUS_BELL' | 'BONUS_BAR1' | 'RESPIN_CHERRY';
|
|
18
15
|
betAmount: number;
|
|
19
16
|
}
|
|
20
|
-
|
|
21
|
-
* @deprecated Use DebugTriggerBonusCommand for GLI-19 compliance
|
|
22
|
-
*/
|
|
23
|
-
export type CheatTriggerBonusCommand = DebugTriggerBonusCommand;
|
|
24
|
-
//# sourceMappingURL=cheat-trigger-bonus-command.d.ts.map
|
|
17
|
+
//# sourceMappingURL=debug-trigger-bonus-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-trigger-bonus-command.d.ts","sourceRoot":"","sources":["../../src/domain/debug-trigger-bonus-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,CAAC;IAC5F,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-trigger-bonus-command.js","sourceRoot":"","sources":["../../src/domain/debug-trigger-bonus-command.ts"],"names":[],"mappings":""}
|
package/dist/domain/types.d.ts
CHANGED
|
@@ -180,8 +180,6 @@ export declare enum CommandType {
|
|
|
180
180
|
INIT_SESSION_STATE = "INIT_SESSION_STATE",
|
|
181
181
|
SPIN = "SPIN",
|
|
182
182
|
GET_SYMBOLS = "GET_SYMBOLS",
|
|
183
|
-
/** @deprecated Use DEBUG_TRIGGER_BONUS for GLI-19 compliance */
|
|
184
|
-
CHEAT_TRIGGER_BONUS = "CHEAT_TRIGGER_BONUS",
|
|
185
183
|
/** GLI-19 compliant debug command for triggering bonuses */
|
|
186
184
|
DEBUG_TRIGGER_BONUS = "DEBUG_TRIGGER_BONUS"
|
|
187
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/types.js
CHANGED
|
@@ -24,8 +24,6 @@ var CommandType;
|
|
|
24
24
|
CommandType["INIT_SESSION_STATE"] = "INIT_SESSION_STATE";
|
|
25
25
|
CommandType["SPIN"] = "SPIN";
|
|
26
26
|
CommandType["GET_SYMBOLS"] = "GET_SYMBOLS";
|
|
27
|
-
/** @deprecated Use DEBUG_TRIGGER_BONUS for GLI-19 compliance */
|
|
28
|
-
CommandType["CHEAT_TRIGGER_BONUS"] = "CHEAT_TRIGGER_BONUS";
|
|
29
27
|
/** GLI-19 compliant debug command for triggering bonuses */
|
|
30
28
|
CommandType["DEBUG_TRIGGER_BONUS"] = "DEBUG_TRIGGER_BONUS";
|
|
31
29
|
})(CommandType || (exports.CommandType = CommandType = {}));
|
package/dist/domain/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAyGH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,0BAA0B;AAC1B,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,qDAAU,CAAA;IACV,iDAAQ,CAAA;AACV,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAoHD,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,yBAAyB;AACzB,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAyGH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,0BAA0B;AAC1B,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,qDAAU,CAAA;IACV,iDAAQ,CAAA;AACV,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAoHD,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,yBAAyB;AACzB,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,wDAAyC,CAAA;IACzC,4BAAa,CAAA;IACb,0CAA2B,CAAA;IAC3B,4DAA4D;IAC5D,0DAA2C,CAAA;AAC7C,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"happy-panda-v1.game-engine.d.ts","sourceRoot":"","sources":["../src/happy-panda-v1.game-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAGL,WAAW,EACX,YAAY,EAGb,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAc,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"happy-panda-v1.game-engine.d.ts","sourceRoot":"","sources":["../src/happy-panda-v1.game-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAGL,WAAW,EACX,YAAY,EAGb,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAc,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM7E,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAGxC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB,CACtC,YAAY,GAAG,OAAO,EACtB,aAAa,GAAG,OAAO,EACvB,QAAQ,GAAG,OAAO;IAElB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAAC,QAAQ,GAAG,OAAO;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,UAAU,CACzB,YAAY,GAAG,OAAO,EACtB,aAAa,GAAG,OAAO,EACvB,QAAQ,GAAG,OAAO;IAElB,cAAc,CACZ,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,uBAAuB,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3E,iBAAiB,IAAI,cAAc,CAAC;CACrC;AAoCD,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,sBACX,YAAW,UAAU,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC;IAEzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,MAAM,GAAE,4BAAiC;IAc9C,iBAAiB,IAAI,cAAc;IAW7B,cAAc,CACzB,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,uBAAuB,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;CAoMxE"}
|
|
@@ -17,6 +17,8 @@ const types_1 = require("./domain/types");
|
|
|
17
17
|
const happy_panda_config_1 = require("./config/happy-panda.config");
|
|
18
18
|
const rng_client_factory_1 = require("./rng/rng-client.factory");
|
|
19
19
|
const rng_service_1 = require("./rng/rng-service");
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
21
|
+
const packageJson = require('../package.json');
|
|
20
22
|
/**
|
|
21
23
|
* RNG Provider adapter that bridges RngService to the engine's RngProvider interface
|
|
22
24
|
*/
|
|
@@ -52,7 +54,7 @@ class RngServiceAdapter {
|
|
|
52
54
|
class HappyPandaV1GameEngine {
|
|
53
55
|
constructor(config = {}) {
|
|
54
56
|
this.gameCode = 'happy-panda';
|
|
55
|
-
this.version =
|
|
57
|
+
this.version = packageJson.version;
|
|
56
58
|
this.rtp = 96.05;
|
|
57
59
|
this.gameType = 'slot';
|
|
58
60
|
this.gameName = 'Happy Panda';
|
|
@@ -150,8 +152,7 @@ class HappyPandaV1GameEngine {
|
|
|
150
152
|
message: 'Symbols retrieved',
|
|
151
153
|
};
|
|
152
154
|
}
|
|
153
|
-
case 'DEBUG_TRIGGER_BONUS':
|
|
154
|
-
case 'CHEAT_TRIGGER_BONUS': {
|
|
155
|
+
case 'DEBUG_TRIGGER_BONUS': {
|
|
155
156
|
if (!publicState || !privateState) {
|
|
156
157
|
this.rngService.removeCommand(command.id);
|
|
157
158
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"happy-panda-v1.game-engine.js","sourceRoot":"","sources":["../src/happy-panda-v1.game-engine.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,oEAA+D;AAC/D,0CAOwB;AACxB,oEAAuD;AAEvD,iEAA4D;AAC5D,mDAA6E;
|
|
1
|
+
{"version":3,"file":"happy-panda-v1.game-engine.js","sourceRoot":"","sources":["../src/happy-panda-v1.game-engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DEBUG_TRIGGER_BONUS / CHEAT_TRIGGER_BONUS Command Tests
|
|
3
|
-
*
|
|
4
|
-
* Tests for the debug command that allows triggering bonus rounds for dev/testing.
|
|
5
|
-
* This command is used by dev-tools to test bonus flows without waiting for natural triggers.
|
|
6
|
-
*
|
|
7
|
-
* GLI-19 Compliance: DEBUG_TRIGGER_BONUS is the preferred command type.
|
|
8
|
-
* CHEAT_TRIGGER_BONUS is deprecated but still supported for backward compatibility.
|
|
9
|
-
*/
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=cheat-trigger-bonus.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cheat-trigger-bonus.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/cheat-trigger-bonus.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cheat-trigger-bonus.test.js","sourceRoot":"","sources":["../../src/__tests__/cheat-trigger-bonus.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cheat-trigger-bonus-command.d.ts","sourceRoot":"","sources":["../../src/domain/cheat-trigger-bonus-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,CAAC;IAC5F,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,wBAAwB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cheat-trigger-bonus-command.js","sourceRoot":"","sources":["../../src/domain/cheat-trigger-bonus-command.ts"],"names":[],"mappings":""}
|