1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-05 05:37:39 +02:00

tests: use test() helper

This commit is contained in:
Miloslav Hůla
2021-04-04 22:31:40 +02:00
committed by David Grudl
parent 7049949b14
commit 877dffd460

View File

@@ -30,42 +30,46 @@ Assert::exception(function () use ($conn) {
*/ */
$conn->begin(); test('begin() & rollback()', function () use ($conn) {
Assert::same(3, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle()); $conn->begin();
$conn->query('INSERT INTO [products]', [ Assert::same(3, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
'title' => 'Test product', $conn->query('INSERT INTO [products]', [
]); 'title' => 'Test product',
Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle()); ]);
$conn->rollback(); Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
Assert::same(3, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle()); $conn->rollback();
Assert::same(3, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
});
test('begin() & commit()', function () use ($conn) {
$conn->begin();
$conn->query('INSERT INTO [products]', [
'title' => 'Test product',
]);
$conn->commit();
Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
});
$conn->begin(); test('transaction() fail', function () use ($conn) {
$conn->query('INSERT INTO [products]', [ Assert::exception(function () use ($conn) {
'title' => 'Test product', $conn->transaction(function (Dibi\Connection $connection) {
]); $connection->query('INSERT INTO [products]', [
$conn->commit(); 'title' => 'Test product',
Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle()); ]);
throw new Exception('my exception');
});
}, \Throwable::class, 'my exception');
Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
});
test('transaction() success', function () use ($conn) {
Assert::exception(function () use ($conn) {
$conn->transaction(function (Dibi\Connection $connection) { $conn->transaction(function (Dibi\Connection $connection) {
$connection->query('INSERT INTO [products]', [ $connection->query('INSERT INTO [products]', [
'title' => 'Test product', 'title' => 'Test product',
]); ]);
throw new Exception('my exception');
}); });
}, \Throwable::class, 'my exception'); Assert::same(5, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
$conn->transaction(function (Dibi\Connection $connection) {
$connection->query('INSERT INTO [products]', [
'title' => 'Test product',
]);
}); });
Assert::same(5, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());