Skip to content

Commit 8dc5397

Browse files
committed
add transaction unittest
1 parent 1d92320 commit 8dc5397

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

tests/TranslatableTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Astrotomic\Translatable\Tests\Eloquent\Person;
1010
use Astrotomic\Translatable\Tests\Eloquent\Vegetable;
1111
use Astrotomic\Translatable\Tests\Eloquent\VegetableTranslation;
12+
use Exception;
1213
use Illuminate\Database\Eloquent\MassAssignmentException;
1314
use Illuminate\Foundation\Testing\RefreshDatabase;
1415
use Illuminate\Support\Facades\App;
@@ -1044,4 +1045,21 @@ public function it_does_not_delete_on_cascade_after_retrieving_a_model()
10441045
$this->assertDatabaseMissing('vegetables', ['identity' => $vegetable->identity]);
10451046
$this->assertDatabaseHas('vegetable_translations', ['vegetable_identity' => $vegetable->identity]);
10461047
}
1048+
1049+
/** @test */
1050+
public function it_can_restore_translations_in_a_transaction()
1051+
{
1052+
Vegetable::enableDeleteTranslationsCascade();
1053+
$vegetable = factory(Vegetable::class)->create(['name:en' => 'Peas']);
1054+
1055+
$this->assertDatabaseHas('vegetables', ['identity' => $vegetable->identity]);
1056+
$this->assertDatabaseHas('vegetable_translations', ['vegetable_identity' => $vegetable->identity]);
1057+
1058+
DB::connection()->beginTransaction();
1059+
$vegetable->delete();
1060+
DB::connection()->rollBack();
1061+
1062+
$this->assertDatabaseHas('vegetables', ['identity' => $vegetable->identity]);
1063+
$this->assertDatabaseHas('vegetable_translations', ['vegetable_identity' => $vegetable->identity]);
1064+
}
10471065
}

0 commit comments

Comments
 (0)