Files
skillhub/apps/web/e2e/homepage.spec.ts
airano 97b427831a Initial release v1.0.0
Open-source marketplace for AI Agent skills.

Features:
- Next.js 15 web app with i18n (en/fa)
- CLI tool for skill installation (npx skillhub)
- GitHub crawler/indexer with multi-strategy discovery
- Security scanning for all indexed skills
- Self-hostable with Docker

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 06:42:07 +03:30

43 lines
1.4 KiB
TypeScript

import { test, expect } from '@playwright/test';
test.describe('Homepage', () => {
test('should load the homepage', async ({ page }) => {
await page.goto('/');
await expect(page).toHaveTitle(/SkillHub/);
});
test('should display stats section', async ({ page }) => {
await page.goto('/');
// Stats section should be visible
const statsSection = page.locator('text=/skills|downloads|categories/i').first();
await expect(statsSection).toBeVisible();
});
test('should display featured skills section', async ({ page }) => {
await page.goto('/');
// Featured or Popular section
const featuredSection = page.locator('text=/featured|popular|trending/i').first();
await expect(featuredSection).toBeVisible();
});
test('should have navigation header', async ({ page }) => {
await page.goto('/');
const nav = page.locator('nav, header').first();
await expect(nav).toBeVisible();
});
test('should have working browse link', async ({ page }) => {
await page.goto('/');
const browseLink = page.getByRole('link', { name: /browse|skills/i }).first();
await browseLink.click();
await expect(page).toHaveURL(/browse/);
});
test('should have working categories link', async ({ page }) => {
await page.goto('/');
const categoriesLink = page.getByRole('link', { name: /categories/i }).first();
await categoriesLink.click();
await expect(page).toHaveURL(/categories/);
});
});