mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-09 16:52:51 +01:00
refactor: remove pocketbase (#1138)
This commit is contained in:
36
ui/tests/e2e/auth.spec.ts
Normal file
36
ui/tests/e2e/auth.spec.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { expect } from '@playwright/test'
|
||||
import { login, test } from './util'
|
||||
|
||||
// Verify that login stores a token and grants API access
|
||||
|
||||
test('login grants api access', async ({ page }) => {
|
||||
await login(page)
|
||||
await expect(page).toHaveURL(/.*\/dashboard/)
|
||||
|
||||
const token = await page.evaluate(() => localStorage.getItem('token'))
|
||||
expect(token).toBeTruthy()
|
||||
|
||||
const response = await page.request.get('/auth/user', {
|
||||
headers: { Authorization: `Bearer ${token}` }
|
||||
})
|
||||
expect(response.status()).toBe(200)
|
||||
const data = await response.json()
|
||||
expect(data.user.email).toBe('admin@catalyst-soar.com')
|
||||
})
|
||||
|
||||
// Verify that logout clears the token and api requests fail without it
|
||||
|
||||
test('logout denies api access', async ({ page }) => {
|
||||
await login(page)
|
||||
const button = page.getByRole('button', { name: /admin/i })
|
||||
await button.click()
|
||||
await page.getByRole('menuitem', { name: 'Log out' }).click()
|
||||
await page.waitForURL('**/login')
|
||||
|
||||
const token = await page.evaluate(() => localStorage.getItem('token'))
|
||||
expect(token).toBe('')
|
||||
|
||||
const response = await page.request.get('/auth/user')
|
||||
const data = await response.json()
|
||||
expect(data).toBeNull()
|
||||
})
|
||||
Reference in New Issue
Block a user