toBeString()->not->toBeEmpty(); })->with([ ServiceCategory::APPLICATION, ServiceCategory::DATABASE, ServiceCategory::GATEWAY, ServiceCategory::STORAGE, ServiceCategory::CACHE, ServiceCategory::BUILDER, ]); it('accepts a string and resolves it to the enum description', function () { expect(ServiceCategory::getDescription('database'))->toBe('Postgres'); }); it('rejects invalid values via the string overload', function () { expect(fn () => ServiceCategory::getDescription('not-a-category')) ->toThrow(ValueError::class); });