QA: sticky nav, hover lift, body font and auth focus fixes; tasks 24 and 24-1..24-10 Done

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Naser Mansour
2026-10-31 19:23:46 +02:00
parent f1ca648672
commit 379f1f9de6
25 changed files with 89 additions and 26 deletions
@@ -43,3 +43,12 @@ test('dashboards carry neither the stylesheet nor site-auth', function () {
expect($html)->not->toContain('public.css')->not->toContain('site-auth');
}
});
test('site fonts beat the app.css html[lang] body font and hidden Flux errors do not paint inputs red', function () {
$css = file_get_contents(resource_path('css/public.css'));
expect($css)
->toContain('html[lang] body.site{font-family:var(--body)}')
->toContain('html[lang] body.site-auth{font-family:"IBM Plex Sans Arabic"')
->toContain('[data-flux-field]:not(:has([data-flux-error]:not(.hidden))) input[data-flux-control]');
});
@@ -55,3 +55,17 @@ test('site lang files carry the progress label', function () {
expect(trans('site.progress_label', [], 'en'))->toBe('Reading progress');
expect(trans('site.progress_label', [], 'ar'))->toBe('تقدّم القراءة');
});
test('body does not become a scroll container, so the sticky navigation sticks', function () {
$css = file_get_contents(resource_path('css/public.css'));
expect($css)->toContain('overflow-x:clip')->toContain('box-sizing:border-box;height:72px');
});
test('reveal uses the translate property so hover lifts (transform) are not overridden', function () {
$css = file_get_contents(resource_path('css/public.css'));
expect($css)->toContain('body.site.js [data-reveal]{opacity:0;translate:0 28px')
->toContain('body.site.js [data-reveal].in{opacity:1;translate:none}')
->not->toContain('[data-reveal].in{opacity:1;transform:none}');
});