All checks were successful
Test and deploy staging / staging (push) Successful in 18s
Fold catchemall into /projects/game-tracker (old URL redirects) and add Call of Duty tracking for Black Ops through WWII. - Pokémon catalog is now owned: locations, encounters and per-game evolution methods are built from the pinned PokéAPI snapshot and seeded. - Pokémon you can evolve or breed in a game count as obtainable; mythicals without another route are marked event-only. - Detail dialog with evolution chain and where to find it, location pages with admin notes and pictures, and admin corrections that survive reseeds. - Call of Duty weapons, milestones and Steam achievements per game, with derived Diamond / Dark Matter / Solar / Black Sky / Chrome tiers. - New migration (db:migrate:game-tracker), seeds (db:seed, db:seed:cod) and deploy preflight checks for them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
919 B
TypeScript
23 lines
919 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { formatTitle, getTitle, siteEnvironment } from './title';
|
|
|
|
describe('site titles', () => {
|
|
it('uses one suffix and an environment prefix', () => {
|
|
expect(getTitle('/', 'DEV')).toBe('(DEV) Home | Stan Runge');
|
|
expect(getTitle('/projects/game-tracker/pokemon', 'STAGING')).toBe(
|
|
'(STAGING) Catchemall | Stan Runge'
|
|
);
|
|
expect(formatTitle('A blog post')).toBe('A blog post | Stan Runge');
|
|
});
|
|
|
|
it('gives unlisted routes a readable title', () => {
|
|
expect(getTitle('/projects/typing-practice')).toBe('typing practice | Stan Runge');
|
|
});
|
|
|
|
it('labels development and staging without labelling production', () => {
|
|
expect(siteEnvironment(true, 'https://staging.stanrunge.dev')).toBe('DEV');
|
|
expect(siteEnvironment(false, 'https://staging.stanrunge.dev')).toBe('STAGING');
|
|
expect(siteEnvironment(false, 'https://stanrunge.dev')).toBeNull();
|
|
});
|
|
});
|