mirror of
https://github.com/lukevella/rallly.git
synced 2025-04-29 18:26:34 +02:00
56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
import { prisma } from "@rallly/database";
|
|
|
|
import { encode } from "./helpers/next-auth-v4";
|
|
|
|
const legacyGuestId = "user-1234";
|
|
|
|
test.describe.serial(() => {
|
|
test.beforeAll(async () => {
|
|
await prisma.poll.create({
|
|
data: {
|
|
id: "legacy-guest-poll",
|
|
title: "Test Poll",
|
|
adminUrlId: "admin-url-id",
|
|
participantUrlId: "participant-url-id",
|
|
guestId: legacyGuestId,
|
|
},
|
|
});
|
|
});
|
|
test.afterAll(async () => {
|
|
await prisma.poll.delete({
|
|
where: {
|
|
id: "legacy-guest-poll",
|
|
},
|
|
});
|
|
});
|
|
|
|
test("should see poll on login page", async ({ page }) => {
|
|
const context = page.context();
|
|
const legacyToken = await encode({
|
|
token: {
|
|
sub: legacyGuestId,
|
|
},
|
|
secret: process.env.SECRET_PASSWORD,
|
|
});
|
|
|
|
// set cookie to simulate legacy guest
|
|
await context.addCookies([
|
|
{
|
|
name: "next-auth.session-token",
|
|
value: legacyToken,
|
|
httpOnly: true,
|
|
expires: Date.now() / 1000 + 60 * 60 * 24 * 7,
|
|
secure: false,
|
|
sameSite: "Lax",
|
|
domain: "localhost",
|
|
path: "/",
|
|
},
|
|
]);
|
|
|
|
await page.goto("/");
|
|
|
|
// Check if the poll title exists in the page content
|
|
await expect(page.getByText("Test Poll")).toBeVisible();
|
|
});
|
|
});
|