Skip to content

Commit b200968

Browse files
authored
fix: disable auditing before model initialization (#758)
1 parent 6c0746f commit b200968

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

src/Auditable.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ trait Auditable
6363
*/
6464
public static function bootAuditable()
6565
{
66-
if (!self::$auditingDisabled && static::isAuditingEnabled()) {
66+
if (static::isAuditingEnabled()) {
6767
static::observe(new AuditableObserver());
6868
}
6969
}

tests/Functional/AuditingTest.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,31 @@ public function itDisablesAndEnablesAuditingBackAgain()
407407
$this->assertSame(3, Article::count());
408408
}
409409

410+
/**
411+
* @test
412+
*/
413+
public function itDisablesAndEnablesAuditingBackAgainViaFacade()
414+
{
415+
// Auditing is enabled by default
416+
$this->assertFalse(Article::$auditingDisabled);
417+
418+
Article::disableAuditing();
419+
420+
factory(Article::class)->create();
421+
422+
$this->assertSame(1, Article::count());
423+
$this->assertSame(0, Audit::count());
424+
425+
// Enable Auditing
426+
Article::enableAuditing();
427+
$this->assertFalse(Article::$auditingDisabled);
428+
429+
factory(Article::class)->create();
430+
431+
$this->assertSame(2, Article::count());
432+
$this->assertSame(1, Audit::count());
433+
}
434+
410435
/**
411436
* @test
412437
* @return void

tests/Unit/AuditableTest.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,16 @@ public function itWillAlwaysAuditModelsWhenNotRunningFromTheConsole()
7575
* @group Auditable::bootAuditable
7676
* @test
7777
*/
78-
public function itWillNotBootTraitWhenStaticFlagIsSet()
78+
public function itWillBootTraitWhenStaticFlagIsSet()
7979
{
8080
App::spy();
8181

8282
Article::$auditingDisabled = true;
8383

84-
new Article();
84+
$article = new Article();
8585

86-
App::shouldNotHaveReceived('runningInConsole');
86+
$this->assertFalse($article->readyForAuditing());
87+
App::shouldReceive('runningInConsole');
8788

8889
Article::$auditingDisabled = false;
8990
}

0 commit comments

Comments
 (0)