1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-06 06:07: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());
$conn->query('INSERT INTO [products]', [
'title' => 'Test product', 'title' => 'Test product',
]); ]);
Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle()); Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
$conn->rollback(); $conn->rollback();
Assert::same(3, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle()); Assert::same(3, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
});
test('begin() & commit()', function () use ($conn) {
$conn->begin();
$conn->begin(); $conn->query('INSERT INTO [products]', [
$conn->query('INSERT INTO [products]', [
'title' => 'Test product', 'title' => 'Test product',
]); ]);
$conn->commit(); $conn->commit();
Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle()); Assert::same(4, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
});
test('transaction() fail', function () use ($conn) {
Assert::exception(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'); throw new Exception('my exception');
}); });
}, \Throwable::class, 'my exception'); }, \Throwable::class, 'my exception');
Assert::same(4, (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) { test('transaction() success', function () use ($conn) {
$conn->transaction(function (Dibi\Connection $connection) {
$connection->query('INSERT INTO [products]', [ $connection->query('INSERT INTO [products]', [
'title' => 'Test product', 'title' => 'Test product',
]); ]);
});
Assert::same(5, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());
}); });
Assert::same(5, (int) $conn->query('SELECT COUNT(*) FROM [products]')->fetchSingle());