value)->toBe('production'); }); it('has staging mode', function () { expect(CertificateMode::STAGING->value)->toBe('staging'); }); it('detects production mode', function () { $mode = CertificateMode::PRODUCTION; expect($mode->isProduction())->toBeTrue(); expect($mode->isStaging())->toBeFalse(); }); it('detects staging mode', function () { $mode = CertificateMode::STAGING; expect($mode->isStaging())->toBeTrue(); expect($mode->isProduction())->toBeFalse(); }); it('returns correct certbot flag for production', function () { $mode = CertificateMode::PRODUCTION; expect($mode->toCertbotFlag())->toBe(''); }); it('returns correct certbot flag for staging', function () { $mode = CertificateMode::STAGING; expect($mode->toCertbotFlag())->toBe('--staging'); }); it('has descriptive text for production', function () { $mode = CertificateMode::PRODUCTION; expect($mode->getDescription()) ->toContain('Production') ->toContain('Let\'s Encrypt'); }); it('has descriptive text for staging', function () { $mode = CertificateMode::STAGING; expect($mode->getDescription()) ->toContain('Staging') ->toContain('Testing'); }); });