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:
committed by
David Grudl
parent
7049949b14
commit
877dffd460
@@ -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());
|
|
||||||
|
Reference in New Issue
Block a user