Fix tests
This commit is contained in:
parent
2479dd518d
commit
4c2c578311
5 changed files with 20 additions and 9 deletions
|
@ -10,4 +10,5 @@ module.exports = {
|
||||||
"plugin:@typescript-eslint/recommended",
|
"plugin:@typescript-eslint/recommended",
|
||||||
"prettier",
|
"prettier",
|
||||||
],
|
],
|
||||||
|
ignorePatterns: ["dist/**"],
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { expect, test, type BrowserContext, type Page } from "@playwright/test"
|
import { expect, test, type BrowserContext, type Page } from "@playwright/test"
|
||||||
|
|
||||||
const callbackUrl = process.env.AUTH_URL + "/"
|
const callbackUrl = process.env.AUTH_URL as string
|
||||||
let context: BrowserContext
|
let context: BrowserContext
|
||||||
let page: Page
|
let page: Page
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ test.describe.serial("Check Azure AD auth", () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
test("Login process...", async () => {
|
test("Login process...", async () => {
|
||||||
await page.goto(callbackUrl + "signin")
|
await page.goto(callbackUrl + "/signin")
|
||||||
|
|
||||||
await page.waitForLoadState("domcontentloaded")
|
await page.waitForLoadState("domcontentloaded")
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ test.describe.serial("Check Azure AD auth", () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
test("Is logged in", async () => {
|
test("Is logged in", async () => {
|
||||||
await page.goto(callbackUrl + "signin")
|
await page.goto(callbackUrl + "/api/auth/check")
|
||||||
await page.waitForSelector("#start")
|
await page.waitForSelector("#start")
|
||||||
await page.evaluate(() => document.fonts.ready)
|
await page.evaluate(() => document.fonts.ready)
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ test.describe.serial("Check Azure AD auth", () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
test("Is logged out", async () => {
|
test("Is logged out", async () => {
|
||||||
await page.goto(callbackUrl + "signout")
|
await page.goto(callbackUrl + "/signout")
|
||||||
|
|
||||||
await page.waitForLoadState("domcontentloaded")
|
await page.waitForLoadState("domcontentloaded")
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import { and, desc, eq } from "drizzle-orm"
|
||||||
import db from "~/drizzle"
|
import db from "~/drizzle"
|
||||||
import { verificationTokens } from "~/drizzle/schemas/Tables"
|
import { verificationTokens } from "~/drizzle/schemas/Tables"
|
||||||
|
|
||||||
const callbackUrl = process.env.NEXTAUTH_URL + "/"
|
const callbackUrl = process.env.AUTH_URL as string
|
||||||
const player1Email = (browser: Browser) =>
|
const player1Email = (browser: Browser) =>
|
||||||
browser.browserType().name() + "-player-1@example.com"
|
browser.browserType().name() + "-player-1@example.com"
|
||||||
|
|
||||||
|
@ -27,14 +27,14 @@ test.describe.serial("Check Email auth", () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
test("Email login process...", async ({ browser }) => {
|
test("Email login process...", async ({ browser }) => {
|
||||||
await page.goto(callbackUrl + "signin")
|
await page.goto(callbackUrl + "/signin")
|
||||||
|
|
||||||
await page.waitForSelector("input#email")
|
await page.waitForSelector("input#email")
|
||||||
await page.fill("input#email", player1Email(browser))
|
await page.fill("input#email", player1Email(browser))
|
||||||
await page.click("button#email-submit")
|
await page.click("button#email-submit")
|
||||||
|
|
||||||
await page.waitForURL(
|
await page.waitForURL(
|
||||||
callbackUrl + "api/auth/verify-request?provider=email&type=email",
|
callbackUrl + "/api/auth/verify-request?provider=email&type=email",
|
||||||
)
|
)
|
||||||
|
|
||||||
await page.waitForLoadState("domcontentloaded")
|
await page.waitForLoadState("domcontentloaded")
|
||||||
|
@ -68,7 +68,7 @@ test.describe.serial("Check Email auth", () => {
|
||||||
token,
|
token,
|
||||||
email: player1Email(browser),
|
email: player1Email(browser),
|
||||||
})
|
})
|
||||||
const url = callbackUrl + "api/auth/callback/email?" + params
|
const url = callbackUrl + "/api/auth/callback/email?" + params
|
||||||
|
|
||||||
await page.goto(url)
|
await page.goto(url)
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ export default defineConfig({
|
||||||
|
|
||||||
/* Run your local dev server before starting the tests */
|
/* Run your local dev server before starting the tests */
|
||||||
webServer: {
|
webServer: {
|
||||||
command: "pnpm run start",
|
command: "pnpm start",
|
||||||
url: process.env.AUTH_URL,
|
url: process.env.AUTH_URL,
|
||||||
reuseExistingServer: !process.env.CI,
|
reuseExistingServer: !process.env.CI,
|
||||||
},
|
},
|
||||||
|
|
10
leaky-ships/src/routes/api/auth/check.ts
Normal file
10
leaky-ships/src/routes/api/auth/check.ts
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
import { getSession } from "@auth/solid-start"
|
||||||
|
import status from "http-status"
|
||||||
|
import { APIEvent, redirect } from "solid-start"
|
||||||
|
import { authOptions } from "~/server/auth"
|
||||||
|
|
||||||
|
export async function GET({ request }: APIEvent) {
|
||||||
|
const session = await getSession(request, authOptions)
|
||||||
|
if (session) return redirect("/")
|
||||||
|
else return new Response(null, { status: status["UNAUTHORIZED"] })
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue