test: add charge test
parent
d2d04c703d
commit
705d4dc7f9
|
|
@ -55,6 +55,59 @@ function genOpenWins(
|
|||
return result;
|
||||
}
|
||||
|
||||
Deno.test("RankTracker tracks challenge charge", async () => {
|
||||
const tracker = new TestRankTracker(INIT_STATE);
|
||||
assertEquals(tracker.testGet(), {
|
||||
state: INIT_STATE,
|
||||
deltaMap: new Map(),
|
||||
});
|
||||
|
||||
const finalState = await tracker.updateState([{
|
||||
bankaraMatchChallenge: {
|
||||
winCount: 1,
|
||||
loseCount: 0,
|
||||
maxWinCount: 5,
|
||||
maxLoseCount: 3,
|
||||
isPromo: false,
|
||||
isUdemaeUp: false,
|
||||
udemaeAfter: null,
|
||||
earnedUdemaePoint: null,
|
||||
state: "INPROGRESS",
|
||||
},
|
||||
historyDetails: {
|
||||
nodes: [
|
||||
{
|
||||
id: genId(2),
|
||||
udemae: "B-",
|
||||
judgement: "WIN",
|
||||
bankaraMatch: {
|
||||
earnedUdemaePoint: null,
|
||||
},
|
||||
nextHistoryDetail: null,
|
||||
previousHistoryDetail: null,
|
||||
},
|
||||
],
|
||||
},
|
||||
}, {
|
||||
bankaraMatchChallenge: null,
|
||||
historyDetails: {
|
||||
nodes: genOpenWins({
|
||||
startId: 0,
|
||||
count: 1,
|
||||
udemae: "B-",
|
||||
}),
|
||||
},
|
||||
}]);
|
||||
|
||||
assertEquals(tracker.testGet().state, INIT_STATE);
|
||||
|
||||
assertEquals(finalState, {
|
||||
gameId: await gameId(genId(2)),
|
||||
rank: "B-",
|
||||
rankPoint: 45,
|
||||
});
|
||||
});
|
||||
|
||||
Deno.test("RankTracker", async () => {
|
||||
const tracker = new TestRankTracker(INIT_STATE);
|
||||
assertEquals(tracker.testGet(), {
|
||||
|
|
@ -81,13 +134,13 @@ Deno.test("RankTracker", async () => {
|
|||
rankPoint: 244,
|
||||
});
|
||||
|
||||
assertEquals(await tracker.getRankStateById(genId(1)), {
|
||||
assertEquals((await tracker.getRankStateById(genId(1)))?.after, {
|
||||
gameId: await gameId(genId(1)),
|
||||
rank: "B-",
|
||||
rankPoint: 108,
|
||||
});
|
||||
|
||||
assertEquals(await tracker.getRankStateById(genId(17)), {
|
||||
assertEquals((await tracker.getRankStateById(genId(17)))?.after, {
|
||||
gameId: await gameId(genId(17)),
|
||||
rank: "B-",
|
||||
rankPoint: 236,
|
||||
|
|
@ -121,7 +174,7 @@ Deno.test("RankTracker", async () => {
|
|||
},
|
||||
}]);
|
||||
|
||||
assertEquals(await tracker.getRankStateById(genId(29)), {
|
||||
assertEquals((await tracker.getRankStateById(genId(29)))?.after, {
|
||||
gameId: await gameId(genId(29)),
|
||||
rank: "B-",
|
||||
rankPoint: 332,
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ export class RankTracker {
|
|||
...delta,
|
||||
// TODO: rankAfter should be undefined in open battle
|
||||
rankAfter: i.detail.udemae,
|
||||
rankPoint: i.detail.bankaraMatch?.earnedUdemaePoint,
|
||||
rankPoint: i.detail.bankaraMatch?.earnedUdemaePoint ?? 0,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ export type BattleListNode = {
|
|||
id: string;
|
||||
};
|
||||
bankaraMatch: null | {
|
||||
earnedUdemaePoint: number;
|
||||
earnedUdemaePoint: null | number;
|
||||
};
|
||||
};
|
||||
export type CoopListNode = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue