clawdie-ai/setup/cms.test.ts
Operator & Codex 7acf771a3b Stabilize regression-driven test fixtures
---
Build: pass | Tests: pass — 2137 passed (622 files)
2026-05-03 20:58:27 +02:00

33 lines
1.4 KiB
TypeScript

import { describe, expect, it, vi } from 'vitest';
import { makePlatformRegistryFixture } from '../src/test-fixtures/platform-registry.js';
import * as surfaceInventoryModule from '../src/surface-inventory.js';
import { nginxConf } from './cms.js';
describe('setup/cms nginxConf', () => {
it('builds explicit server blocks for cms admin and tenant surfaces', () => {
vi.spyOn(surfaceInventoryModule, 'buildSurfaceInventory').mockReturnValue(
surfaceInventoryModule.buildSurfaceInventory(makePlatformRegistryFixture()),
);
const conf = nginxConf({ adminUiEnabled: true });
expect(conf).toContain('listen 80 default_server;');
expect(conf).toContain('server_name cms.home.arpa cms.clawdie.si;');
expect(conf).toContain('blog.mevy.home.arpa');
expect(conf).toContain('mevy.home.arpa');
expect(conf).toContain('location /api/');
expect(conf).toContain('location /admin/');
expect(conf).toContain('location /screenshots/ {');
expect(conf).not.toContain('auth_basic_user_file');
});
it('returns 404 for admin/api paths when admin ui is disabled', () => {
const conf = nginxConf({ adminUiEnabled: false });
expect(conf).toContain('location /admin/ {');
expect(conf).toContain('location /api/ {');
expect(conf).toContain('return 404;');
expect(conf).not.toContain('proxy_pass http://127.0.0.1:1337/admin/;');
});
});