Files
bot-hub/e2e/menu-smoke.pw.test.ts
zeekay 0078c826cb rebrand souls → personas across entire codebase
Rename all soul/Soul/SOUL references to persona/Persona/PERSONA:
- 73 files renamed and updated
- Routes: /souls/ → /personas/, /souls/$slug → /personas/$slug
- API: /v1/souls → /v1/personas, soulsApi → personasApi
- DB: souls → personas, soul_versions → persona_versions, etc.
- Components: SoulCard → PersonaCard, SoulDetailPage → PersonaDetailPage
- Types: PublicSoul → PublicPersona, Soul → Persona
- Env: VITE_SOULHUB_* → VITE_PERSONAHUB_*
- Remove onlycrabs.ai branding → personas.hanzo.ai
- SOUL.md → PERSONA.md throughout

Personas are scientifically modeled personality profiles, not "bot souls".
2026-02-17 14:09:29 -08:00

50 lines
1.8 KiB
TypeScript

import { expect, test } from '@playwright/test'
const navLabels = ['Skills', 'Upload', 'Import', 'Search']
test('skills loads without error', async ({ page }) => {
await page.goto('/skills', { waitUntil: 'domcontentloaded' })
await expect(page.locator('text=Something went wrong!')).toHaveCount(0)
await expect(page.locator('h1', { hasText: 'Skills' })).toBeVisible()
})
test('personas loads without error', async ({ page }) => {
await page.goto('/personas', { waitUntil: 'domcontentloaded' })
await expect(page.locator('text=Something went wrong!')).toHaveCount(0)
await expect(page.locator('h1', { hasText: 'Personas' })).toBeVisible()
})
test('header menu routes render', async ({ page }) => {
await page.goto('/', { waitUntil: 'domcontentloaded' })
for (const label of navLabels) {
const link = page.getByRole('link', { name: label }).first()
await expect(link).toBeVisible()
await link.click()
if (label === 'Skills') {
await expect(page).toHaveURL(/\/skills/)
await expect(page.locator('h1', { hasText: 'Skills' })).toBeVisible()
}
if (label === 'Upload') {
await expect(page).toHaveURL(/\/upload/)
const heading = page.locator('h1.section-title', { hasText: /^Publish a /i })
const signInCard = page.locator('text=Sign in to upload')
await expect(heading.or(signInCard)).toBeVisible()
}
if (label === 'Import') {
await expect(page).toHaveURL(/\/import/)
const heading = page.getByRole('heading', { name: 'Import from GitHub' })
const signInCard = page.locator('text=Sign in to import and publish skills.')
await expect(heading.or(signInCard)).toBeVisible()
}
if (label === 'Search') {
await expect(page).toHaveURL(/\/?(\?|$)/)
await expect(page.locator('h1', { hasText: 'Bot Hub' })).toBeVisible()
}
}
})