Add first battle objective tracking
This commit is contained in:
@@ -80,6 +80,15 @@ try {
|
||||
throw new Error(`Expected first battle scenario id: ${JSON.stringify(result.battleState)}`);
|
||||
}
|
||||
|
||||
if (result.battleState.victoryConditionLabel !== '두령 한석 격파' || result.battleState.defeatConditionLabel !== '유비 퇴각') {
|
||||
throw new Error(`Expected first battle objective labels: ${JSON.stringify(result.battleState)}`);
|
||||
}
|
||||
|
||||
const openingLeaderObjective = result.battleState.objectives.find((objective) => objective.id === 'leader');
|
||||
if (!openingLeaderObjective || openingLeaderObjective.status !== 'active' || openingLeaderObjective.achieved) {
|
||||
throw new Error(`Expected live leader objective to start active: ${JSON.stringify(result.battleState.objectives)}`);
|
||||
}
|
||||
|
||||
const actionTexturesLoaded = await page.evaluate(() => {
|
||||
const textures = window.__HEROS_GAME__?.textures;
|
||||
return [
|
||||
@@ -165,6 +174,10 @@ try {
|
||||
if (livingEnemiesAfterVictory.length > 0) {
|
||||
throw new Error(`Expected no living enemies after forced victory: ${JSON.stringify(livingEnemiesAfterVictory)}`);
|
||||
}
|
||||
const victoryLeaderObjective = victoryState.objectives.find((objective) => objective.id === 'leader');
|
||||
if (!victoryLeaderObjective || victoryLeaderObjective.status !== 'done' || !victoryLeaderObjective.achieved) {
|
||||
throw new Error(`Expected leader objective to resolve after victory: ${JSON.stringify(victoryState.objectives)}`);
|
||||
}
|
||||
|
||||
await page.screenshot({ path: 'dist/verification-battle-result-victory.png', fullPage: true });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user