mock(UserRepositoryInterface::class); $user = $this->emptyUser(); $event = new RegisteredUser($user, '127.0.0.1'); $repository->shouldReceive('count')->andReturn(1)->once(); $repository->shouldReceive('attachRole')->withArgs([$user, 'owner'])->andReturn(true)->once(); $listener = new UserEventHandler(); $listener->attachUserRole($event); $this->assertTrue(true); } /** * @covers \FireflyIII\Handlers\Events\UserEventHandler::sendNewPassword * @covers \FireflyIII\Events\RequestedNewPassword */ public function testSendNewPassword() { Mail::fake(); $user = $this->emptyUser(); $event = new RequestedNewPassword($user, 'token', '127.0.0.1'); $listener = new UserEventHandler; $listener->sendNewPassword($event); // must send user an email: Mail::assertSent( RequestedNewPasswordMail::class, function ($mail) use ($user) { return $mail->hasTo($user->email) && $mail->ipAddress === '127.0.0.1'; } ); $this->assertTrue(true); } /** * @covers \FireflyIII\Handlers\Events\UserEventHandler::sendRegistrationMail * @covers \FireflyIII\Events\RegisteredUser */ public function testSendRegistrationMail() { Mail::fake(); $user = $this->emptyUser(); $event = new RegisteredUser($user, '127.0.0.1'); $listener = new UserEventHandler; $listener->sendRegistrationMail($event); // must send user an email: Mail::assertSent( RegisteredUserMail::class, function ($mail) use ($user) { return $mail->hasTo($user->email) && $mail->ipAddress === '127.0.0.1'; } ); $this->assertTrue(true); } }