From deafaa70e5bb9e86e30585a50e7872814a7af53e Mon Sep 17 00:00:00 2001 From: Francisco Neves Date: Sun, 8 Apr 2018 00:09:50 +0100 Subject: [PATCH] Disable transaction events in RefreshDatabase --- .../Foundation/Testing/RefreshDatabase.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Foundation/Testing/RefreshDatabase.php b/src/Illuminate/Foundation/Testing/RefreshDatabase.php index 5bac0a86d4d2..926c30e511f7 100644 --- a/src/Illuminate/Foundation/Testing/RefreshDatabase.php +++ b/src/Illuminate/Foundation/Testing/RefreshDatabase.php @@ -70,14 +70,22 @@ public function beginDatabaseTransaction() $database = $this->app->make('db'); foreach ($this->connectionsToTransact() as $name) { - $database->connection($name)->beginTransaction(); + $connection = $database->connection($name); + $dispatcher = $connection->getEventDispatcher(); + + $connection->unsetEventDispatcher(); + $connection->beginTransaction(); + $connection->setEventDispatcher($dispatcher); } $this->beforeApplicationDestroyed(function () use ($database) { foreach ($this->connectionsToTransact() as $name) { $connection = $database->connection($name); + $dispatcher = $connection->getEventDispatcher(); - $connection->rollBack(); + $connection->unsetEventDispatcher(); + $connection->rollback(); + $connection->setEventDispatcher($dispatcher); $connection->disconnect(); } });