Skip to content

Commit 09aa844

Browse files
across-ascensions-achievements.test.ts: Also test on-init achievement creation.
1 parent 4d364a0 commit 09aa844

File tree

1 file changed

+22
-5
lines changed

1 file changed

+22
-5
lines changed

test/across-ascensions-achievements.test.ts

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77

88
import { test, expect } from '@playwright/test';
9+
import { Page } from 'playwright';
910
import { setupCookieClickerPage } from 'cookie-connoisseur';
1011

1112
test.describe('Across-ascensions achievements', () => {
@@ -102,33 +103,50 @@ test.describe('Across-ascensions achievements', () => {
102103
});
103104

104105
test.describe('New across-ascensions achievements', () => {
105-
test.beforeEach(async ({ page }) => {
106+
async function loadSpicedCookies(page: Page) {
106107
await setupCookieClickerPage(page);
107108
await page.evaluate(() => Game.LoadMod('https://staticvariablejames.github.io/SpicedCookies/Spice.js'));
108109
await page.waitForFunction(() => 'Spiced cookies' in Game.mods);
109-
});
110+
}
110111

111112
test('are created when the button is toggled', async ({ page }) => {
113+
await loadSpicedCookies(page);
112114
expect(await page.evaluate(() => 'Parasitesmasher' in Game.Achievements)).toBe(false);
113115
expect(await page.evaluate(() => 'A sleightly longer grind' in Game.Achievements)).toBe(false);
114116
await page.click('text=Options');
115117
await page.click('#SpiceButtonextraAchievementsAcrossAscensions');
116118
expect(await page.evaluate(() => 'Parasitesmasher' in Game.Achievements)).toBe(true);
117119
expect(await page.evaluate(() => 'A sleightly longer grind' in Game.Achievements)).toBe(true);
118-
await page.close();
120+
});
121+
122+
test('are created on initialization if set', async ({ page }) => {
123+
await setupCookieClickerPage(page, {saveGame: {
124+
modSaveData: {
125+
'Spiced cookies': {
126+
settings: {
127+
extraAchievementsAcrossAscensions: true,
128+
},
129+
},
130+
},
131+
}});
132+
await page.evaluate(() => Game.LoadMod('https://staticvariablejames.github.io/SpicedCookies/Spice.js'));
133+
await page.waitForFunction(() => 'Spiced cookies' in Game.mods);
134+
expect(await page.evaluate(() => 'Parasitesmasher' in Game.Achievements)).toBe(true);
135+
expect(await page.evaluate(() => 'A sleightly longer grind' in Game.Achievements)).toBe(true);
119136
});
120137

121138
test('are awarded when the button is toggled', async ({ page }) => {
139+
await loadSpicedCookies(page);
122140
await page.evaluate('Spice.saveGame.wrinklersPoppedPreviousAscensions = 1000');
123141
await page.evaluate('Spice.saveGame.reindeerClickedPreviousAscensions = 1000');
124142
await page.click('text=Options');
125143
await page.click('#SpiceButtonextraAchievementsAcrossAscensions');
126144
expect(await page.evaluate(() => Game.HasAchiev('Parasitesmasher'))).toBeTruthy();
127145
expect(await page.evaluate(() => Game.HasAchiev('A sleightly longer grind'))).toBeTruthy();
128-
await page.close();
129146
});
130147

131148
test('are awarded when the threshold is reached', async ({ page }) => {
149+
await loadSpicedCookies(page);
132150
let setting = await page.evaluate('Spice.settings.awardAchievementsAcrossAscensions');
133151
expect(setting).toBe(false); // Things should work even with the setting above being false
134152

@@ -146,6 +164,5 @@ test.describe('New across-ascensions achievements', () => {
146164

147165
setting = await page.evaluate('Spice.settings.awardAchievementsAcrossAscensions');
148166
expect(setting).toBe(false); // This setting should not have been changed
149-
await page.close();
150167
});
151168
});

0 commit comments

Comments
 (0)