Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
90
tests/Framework/Mail/TransportResultTest.php
Normal file
90
tests/Framework/Mail/TransportResultTest.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Framework\Mail\TransportResult;
|
||||
|
||||
describe('TransportResult', function () {
|
||||
it('creates successful result', function () {
|
||||
$messageId = 'msg_123';
|
||||
$result = TransportResult::success($messageId);
|
||||
|
||||
expect($result->isSuccess())->toBeTrue();
|
||||
expect($result->isFailure())->toBeFalse();
|
||||
expect($result->getMessageId())->toBe($messageId);
|
||||
// Cannot call getError() on success result - it throws exception
|
||||
expect($result->getMetadata())->toBeEmpty();
|
||||
});
|
||||
|
||||
it('creates successful result with metadata', function () {
|
||||
$messageId = 'msg_123';
|
||||
$metadata = ['server' => 'smtp.example.com', 'time' => 1.23];
|
||||
$result = TransportResult::success($messageId, $metadata);
|
||||
|
||||
expect($result->isSuccess())->toBeTrue();
|
||||
expect($result->getMessageId())->toBe($messageId);
|
||||
expect($result->getMetadata())->toBe($metadata);
|
||||
});
|
||||
|
||||
it('creates failure result', function () {
|
||||
$error = 'SMTP connection failed';
|
||||
$result = TransportResult::failure($error);
|
||||
|
||||
expect($result->isFailure())->toBeTrue();
|
||||
expect($result->isSuccess())->toBeFalse();
|
||||
expect($result->getError())->toBe($error);
|
||||
// Cannot call getMessageId() on failure result - it throws exception
|
||||
expect($result->getMetadata())->toBeEmpty();
|
||||
});
|
||||
|
||||
it('creates failure result with metadata', function () {
|
||||
$error = 'Authentication failed';
|
||||
$metadata = ['smtp_code' => 535, 'server_response' => 'Invalid credentials'];
|
||||
$result = TransportResult::failure($error, $metadata);
|
||||
|
||||
expect($result->isFailure())->toBeTrue();
|
||||
expect($result->getError())->toBe($error);
|
||||
expect($result->getMetadata())->toBe($metadata);
|
||||
});
|
||||
|
||||
it('handles empty message ID in success result', function () {
|
||||
$result = TransportResult::success('');
|
||||
|
||||
expect($result->isSuccess())->toBeTrue();
|
||||
expect($result->getMessageId())->toBe('');
|
||||
});
|
||||
|
||||
it('handles empty error in failure result', function () {
|
||||
$result = TransportResult::failure('');
|
||||
|
||||
expect($result->isFailure())->toBeTrue();
|
||||
expect($result->getError())->toBe('');
|
||||
});
|
||||
|
||||
it('success and failure are mutually exclusive', function () {
|
||||
$successResult = TransportResult::success('msg_123');
|
||||
$failureResult = TransportResult::failure('error');
|
||||
|
||||
expect($successResult->isSuccess())->toBeTrue();
|
||||
expect($successResult->isFailure())->toBeFalse();
|
||||
|
||||
expect($failureResult->isSuccess())->toBeFalse();
|
||||
expect($failureResult->isFailure())->toBeTrue();
|
||||
});
|
||||
|
||||
it('preserves metadata correctly', function () {
|
||||
$metadata = [
|
||||
'server' => 'smtp.gmail.com',
|
||||
'port' => 587,
|
||||
'encryption' => 'tls',
|
||||
'auth_method' => 'login',
|
||||
'response_time' => 0.456,
|
||||
];
|
||||
|
||||
$successResult = TransportResult::success('msg_123', $metadata);
|
||||
$failureResult = TransportResult::failure('connection failed', $metadata);
|
||||
|
||||
expect($successResult->getMetadata())->toBe($metadata);
|
||||
expect($failureResult->getMetadata())->toBe($metadata);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user