From ea925872885a6283dd9defbbf3c1fec6c66cad1f Mon Sep 17 00:00:00 2001 From: javirescalvo Date: Fri, 2 Aug 2019 14:45:38 +0200 Subject: [PATCH] Test to attach and detach observer with anonymous classes --- observer/tests/AttachObserverTest.php | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 observer/tests/AttachObserverTest.php diff --git a/observer/tests/AttachObserverTest.php b/observer/tests/AttachObserverTest.php new file mode 100644 index 0000000..2fb3759 --- /dev/null +++ b/observer/tests/AttachObserverTest.php @@ -0,0 +1,46 @@ +loggerFake('test-log-registration.txt'); + + $mailer = $this->mailerFake(); + + $registration = new Registration; + $mail = new class ($logger) extends LogUserRegistration implements SplObserver{}; + $log = new class ($mailer) extends SendWelcomeEmail implements SplObserver{}; + $registration->attach($log); + $registration->attach($mail); + + $registration->detach($mail); + + $result = $registration->create([ + 'name' => 'Duilio', + 'email' => 'duilio@styde.net', + 'password' => 'laravel', + ]); + + $this->assertTrue($result); + + // $this->assertDatabaseHas('users', [...]) + + $logger->assertFileEquals('User Duilio was created'); + + $mailer->assertSentTimes(0); + } +} + + + + +