mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Improve some test coverage.
This commit is contained in:
@@ -24,11 +24,17 @@ namespace Tests\Unit\Handlers\Events;
|
||||
|
||||
use FireflyIII\Events\RegisteredUser;
|
||||
use FireflyIII\Events\RequestedNewPassword;
|
||||
use FireflyIII\Events\UserChangedEmail;
|
||||
use FireflyIII\Handlers\Events\UserEventHandler;
|
||||
use FireflyIII\Mail\ConfirmEmailChangeMail;
|
||||
use FireflyIII\Mail\RegisteredUser as RegisteredUserMail;
|
||||
use FireflyIII\Mail\RequestedNewPassword as RequestedNewPasswordMail;
|
||||
use FireflyIII\Mail\UndoEmailChangeMail;
|
||||
use FireflyIII\Models\Role;
|
||||
use FireflyIII\Repositories\User\UserRepositoryInterface;
|
||||
use Illuminate\Auth\Events\Login;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Mockery;
|
||||
use Tests\TestCase;
|
||||
|
||||
/**
|
||||
@@ -57,6 +63,127 @@ class UserEventHandlerTest extends TestCase
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Handlers\Events\UserEventHandler::checkSingleUserIsAdmin
|
||||
*/
|
||||
public function testCheckSingleUserIsAdminMulti()
|
||||
{
|
||||
$repository = $this->mock(UserRepositoryInterface::class);
|
||||
$user = $this->user();
|
||||
$event = new Login($user, true);
|
||||
$listener = new UserEventHandler();
|
||||
|
||||
// mock stuff
|
||||
$repository->shouldReceive('count')->once()->andReturn(2);
|
||||
|
||||
|
||||
$listener->checkSingleUserIsAdmin($event);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Handlers\Events\UserEventHandler::checkSingleUserIsAdmin
|
||||
*/
|
||||
public function testCheckSingleUserIsAdminNoRole()
|
||||
{
|
||||
$repository = $this->mock(UserRepositoryInterface::class);
|
||||
$user = $this->emptyUser();
|
||||
$event = new Login($user, true);
|
||||
$listener = new UserEventHandler();
|
||||
|
||||
// mock stuff
|
||||
$repository->shouldReceive('count')->once()->andReturn(1);
|
||||
$repository->shouldReceive('getRole')->once()->andReturn(null);
|
||||
$repository->shouldReceive('attachRole')->once()->withArgs([Mockery::any(), 'owner']);
|
||||
$repository->shouldReceive('createRole')->once()->withArgs(['owner', 'Site Owner', 'User runs this instance of FF3'])->andReturn(new Role);
|
||||
|
||||
$listener->checkSingleUserIsAdmin($event);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Handlers\Events\UserEventHandler::checkSingleUserIsAdmin
|
||||
*/
|
||||
public function testCheckSingleUserIsAdminNotAdmin()
|
||||
{
|
||||
$repository = $this->mock(UserRepositoryInterface::class);
|
||||
$user = $this->emptyUser();
|
||||
$event = new Login($user, true);
|
||||
$listener = new UserEventHandler();
|
||||
|
||||
// mock stuff
|
||||
$repository->shouldReceive('count')->once()->andReturn(1);
|
||||
$repository->shouldReceive('getRole')->once()->andReturn(new Role);
|
||||
$repository->shouldReceive('attachRole')->once()->withArgs([Mockery::any(), 'owner']);
|
||||
|
||||
$listener->checkSingleUserIsAdmin($event);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Handlers\Events\UserEventHandler::checkSingleUserIsAdmin
|
||||
*/
|
||||
public function testCheckSingleUserIsAdminSingle()
|
||||
{
|
||||
$repository = $this->mock(UserRepositoryInterface::class);
|
||||
$user = $this->user();
|
||||
$event = new Login($user, true);
|
||||
$listener = new UserEventHandler();
|
||||
|
||||
// mock stuff
|
||||
$repository->shouldReceive('count')->once()->andReturn(1);
|
||||
|
||||
$listener->checkSingleUserIsAdmin($event);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Handlers\Events\UserEventHandler::sendEmailChangeConfirmMail
|
||||
* @covers \FireflyIII\Events\UserChangedEmail
|
||||
*/
|
||||
public function testSendEmailChangeConfirmMail()
|
||||
{
|
||||
Mail::fake();
|
||||
$user = $this->emptyUser();
|
||||
$event = new UserChangedEmail($user, 'new@new', 'old@old', '127.0.0.1');
|
||||
$listener = new UserEventHandler;
|
||||
$listener->sendEmailChangeConfirmMail($event);
|
||||
|
||||
// must send user an email:
|
||||
|
||||
Mail::assertSent(
|
||||
ConfirmEmailChangeMail::class, function ($mail) {
|
||||
return $mail->hasTo('new@new') && '127.0.0.1' === $mail->ipAddress;
|
||||
}
|
||||
);
|
||||
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Handlers\Events\UserEventHandler::sendEmailChangeUndoMail
|
||||
* @covers \FireflyIII\Events\UserChangedEmail
|
||||
*/
|
||||
public function testSendEmailChangeUndoMail()
|
||||
{
|
||||
Mail::fake();
|
||||
$user = $this->emptyUser();
|
||||
$event = new UserChangedEmail($user, 'new@new', 'old@old', '127.0.0.1');
|
||||
$listener = new UserEventHandler;
|
||||
$listener->sendEmailChangeUndoMail($event);
|
||||
|
||||
// must send user an email:
|
||||
|
||||
Mail::assertSent(
|
||||
UndoEmailChangeMail::class, function ($mail) {
|
||||
return $mail->hasTo('old@old') && '127.0.0.1' === $mail->ipAddress;
|
||||
}
|
||||
);
|
||||
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Handlers\Events\UserEventHandler::sendNewPassword
|
||||
* @covers \FireflyIII\Events\RequestedNewPassword
|
||||
|
||||
@@ -112,6 +112,22 @@ class AttachmentHelperTest extends TestCase
|
||||
Storage::disk('upload')->assertExists(sprintf('at-%d.data', $attachments->first()->id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test double file upload. Needs to be after testSave.
|
||||
*
|
||||
* @covers \FireflyIII\Helpers\Attachments\AttachmentHelper::__construct
|
||||
* @covers \FireflyIII\Helpers\Attachments\AttachmentHelper::saveAttachmentsForModel
|
||||
*/
|
||||
public function testSaveEmpty()
|
||||
{
|
||||
$journal = TransactionJournal::first();
|
||||
$helper = new AttachmentHelper;
|
||||
|
||||
$res = $helper->saveAttachmentsForModel($journal, null);
|
||||
$this->assertTrue($res);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test double file upload. Needs to be after testSave.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user