/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
tests/Integration/Database/EloquentTransactionWithAfterCommitUsingRefreshDatabaseOnMultipleConnectionsTest.php
57 строк
2 KB
Tony Messias
[11.x] Skip the number of connections transacting while testing to run callbacks (#53377)
12 ноя 2024, 00:06
Не верифицирован
12 ноя 2024, 00:06
4cd413b
Код
Авторство
О чём код?
<?php namespace Illuminate\Tests\Integration\Database; use Illuminate\Support\Facades\DB; use Orchestra\Testbench\Attributes\WithConfig; use function Orchestra\Testbench\artisan; #[WithConfig('database.connections.second', ['driver' => 'sqlite', 'database' => ':memory:', 'foreign_key_constraints' => false])] class EloquentTransactionWithAfterCommitUsingRefreshDatabaseOnMultipleConnectionsTest extends EloquentTransactionWithAfterCommitUsingRefreshDatabaseTest { /** {@inheritDoc} */ protected function connectionsToTransact() { return [null, 'second']; } /** {@inheritDoc} */ protected function afterRefreshingDatabase() { artisan($this, 'migrate', ['--database' => 'second']); } public function testAfterCommitCallbacksAreCalledCorrectlyWhenNoAppTransaction() { $called = false; DB::afterCommit(function () use (&$called) { $called = true; }); $this->assertTrue($called); } public function testAfterCommitCallbacksAreCalledWithWrappingTransactionsCorrectly() { $calls = []; DB::transaction(function () use (&$calls) { DB::afterCommit(function () use (&$calls) { $calls[] = 'first transaction callback'; }); DB::connection('second')->transaction(function () use (&$calls) { DB::connection('second')->afterCommit(function () use (&$calls) { $calls[] = 'second transaction callback'; }); }); }); $this->assertEquals([ 'second transaction callback', 'first transaction callback', ], $calls); } }