Fix & add tier list maker E2E test

This commit is contained in:
Kalle
2026-06-27 11:14:47 +03:00
parent 889009fb61
commit 6732b6c59b
2 changed files with 26 additions and 1 deletions

View File

@@ -45,6 +45,7 @@ function ClickableItem({
return (
<button
type="button"
data-item-id={tierListItemId(item)}
className={styles.clickableItem}
onClick={onClick}
disabled={disabled}

View File

@@ -8,12 +8,14 @@ test.describe("Tier List Maker", () => {
}) => {
await navigate({ page, url: TIER_LIST_MAKER_URL });
await page.getByText("Drag & drop").click();
const emptyTiers = page.getByText("Drop items here");
await expect(emptyTiers).toHaveCount(5);
// Test that toggles are clickable (just verify they work)
await page.getByText("Allow duplicates").click();
await page.getByText("No duplicates").click();
await page.getByText("Show tier headers").click();
await page.getByText("Hide alt kits").click();
await page.getByText("Hide alt skins").click();
@@ -39,10 +41,32 @@ test.describe("Tier List Maker", () => {
// Reload the page
await page.reload();
// Placement mode is not persisted, so re-enter drag & drop mode
await page.getByText("Drag & drop").click();
// Verify items persisted in the tier list (not in the pool)
// Should have fewer than 5 "Drop items here" (meaning at least 1 tier is filled)
await expect(emptyTiers).toHaveCount(3);
});
test("click to place mode adds items to the selected tier", async ({
page,
}) => {
await navigate({ page, url: TIER_LIST_MAKER_URL });
// Click to place is the default mode
const emptyTiers = page.getByText("Click items to add here");
await expect(emptyTiers).toHaveCount(5);
// The first tier is selected by default, clicking a weapon places it there
await page.locator('button[data-item-id^="main-weapon:"]').first().click();
await expect(emptyTiers).toHaveCount(4);
// Selecting another tier and clicking a weapon places it there
await emptyTiers.first().click();
await page.locator('button[data-item-id^="main-weapon:"]').first().click();
await expect(emptyTiers).toHaveCount(3);
});
});
async function dragItemToTier(page: Page, item: Locator) {