Migrate tests to Pest
This commit is contained in:
40
tests/Unit/DocumentExceptionTest.php
Normal file
40
tests/Unit/DocumentExceptionTest.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
* @author Daniel J. Summers <daniel@bitbadger.solutions>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use BitBadger\PDODocument\DocumentException;
|
||||
|
||||
pest()->group('unit');
|
||||
|
||||
describe('Constructor', function () {
|
||||
test('fills code and prior exception if provided', function () {
|
||||
$priorEx = new Exception('Uh oh');
|
||||
expect(new DocumentException('Test Exception', 17, $priorEx))
|
||||
->not->toBeNull()
|
||||
->getMessage()->toBe('Test Exception')
|
||||
->getCode()->toBe(17)
|
||||
->getPrevious()->toBe($priorEx);
|
||||
});
|
||||
test('uses expected code and prior exception if not provided', function () {
|
||||
expect(new DocumentException('Oops'))
|
||||
->not->toBeNull()
|
||||
->getMessage()->toBe('Oops')
|
||||
->getCode()->toBe(0)
|
||||
->getPrevious()->toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('->__toString()', function () {
|
||||
test('excludes code if 0', function () {
|
||||
$ex = new DocumentException('Test failure');
|
||||
expect("$ex")->toBe("BitBadger\PDODocument\DocumentException: Test failure\n");
|
||||
});
|
||||
test('includes code if non-zero', function () {
|
||||
$ex = new DocumentException('Oof', -6);
|
||||
expect("$ex")->toBe("BitBadger\PDODocument\DocumentException: [-6] Oof\n");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user