Files
SealShare/tests/Feature/DesignLanguageTest.php
T
Andreas Reinhold / reiniandClaude Opus 5 c4a17b65c8 Move SealShare onto Livewire Material
Replaces maryUI and daisyUI with nonameweb/livewire-material: the Vibrant
indigo scheme, a system/light/dark theme under sealshare-theme, one top
app bar with the account menu, the upload drop zone and link-ready
moments, M3 fields, dialogs instead of wire:confirm, snackbars instead of
flashed messages, a sortable admin table, and the starter-kit cleanup.
Docker builds assets after Composer; CI drops the Flux step.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9NnLxnPp8vaaurb3Z1MFy
2026-09-13 10:49:38 +02:00

20 lines
866 B
PHP

<?php
use Illuminate\Support\Facades\File;
use NoNameWeb\LivewireMaterial\Testing\DesignGuard;
test('views and code use only what the design system compiles', function () {
expect(DesignGuard::scan([resource_path('views'), resource_path('js'), app_path()])->violations())->toBe([]);
});
test('nothing of maryUI or daisyUI is left behind', function () {
$leftovers = collect(['resources/views', 'resources/js', 'resources/css', 'app'])
->flatMap(fn (string $path) => File::allFiles(base_path($path)))
->filter(fn (SplFileInfo $file): bool => preg_match('/\b(base-content|bg-base-\d|btn(-[a-z]+)?|x-mary-|daisyui|robsontenorio)\b/', $file->getContents()) === 1)
->map(fn (SplFileInfo $file): string => str_replace(base_path().'/', '', $file->getPathname()))
->values()
->all();
expect($leftovers)->toBe([]);
});