'); expect($html) ->toContain('Preview status') ->toContain('Container') ->toContain('Running (no healthcheck)') ->toContain('Healthcheck') ->toContain('Not configured') ->toContain('aria-label="About unconfigured healthchecks"') ->toContain('class="relative inline-flex align-middle"') ->toContain('Traffic can still be routed to the container') ->toContain('aria-haspopup="menu"') ->toContain('right-auto! left-0!') ->toContain('w-[min(16rem,calc(100vw-1.5rem))]!'); }); it('shows degraded aggregate service status as a warning', function () { $html = Blade::render(''); $summaryButton = str($html)->between('')->toString(); expect($summaryButton) ->toContain('Degraded') ->toContain('bg-warning') ->not->toContain('bg-error'); }); it('links the healthcheck row to the healthcheck page and keeps the helper outside the link', function () { $html = Blade::render(''); $link = str($html)->after('href="https://coolify.test/healthcheck"')->before('')->toString(); expect($html)->toContain('href="https://coolify.test/healthcheck"') ->and($link) ->toContain('Healthcheck') ->toContain('Not configured') ->not->toContain('About unconfigured healthchecks') ->and(str($html)->after('')->toString()) ->toContain('aria-label="About unconfigured healthchecks"'); }); it('does not link the healthcheck row without a healthcheck url', function () { $html = Blade::render(''); expect($html)->not->toContain('role="menuitem"'); });