Fix unit tests

This commit is contained in:
James Cole
2018-01-25 20:38:50 +01:00
parent 3fa39a6805
commit f50550d79c
11 changed files with 24 additions and 51 deletions

View File

@@ -26,7 +26,8 @@ use Closure;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Log; use Log;
use Preferences; use Preferences;
use Auth;
use Session;
/** /**
* Class AuthenticateTwoFactor. * Class AuthenticateTwoFactor.
*/ */
@@ -43,6 +44,11 @@ class AuthenticateTwoFactor
*/ */
public function handle(Request $request, Closure $next, $guard = null) public function handle(Request $request, Closure $next, $guard = null)
{ {
if (Auth::guard($guard)->guest()) {
return redirect()->guest('login');
}
$is2faEnabled = Preferences::get('twoFactorAuthEnabled', false)->data; $is2faEnabled = Preferences::get('twoFactorAuthEnabled', false)->data;
$has2faSecret = null !== Preferences::get('twoFactorAuthSecret'); $has2faSecret = null !== Preferences::get('twoFactorAuthSecret');
$is2faAuthed = 'true' === $request->cookie('twoFactorAuthenticated'); $is2faAuthed = 'true' === $request->cookie('twoFactorAuthenticated');

View File

@@ -123,12 +123,16 @@ class AttachmentControllerTest extends TestCase
* @covers \FireflyIII\Http\Controllers\AttachmentController::preview * @covers \FireflyIII\Http\Controllers\AttachmentController::preview
* @covers \FireflyIII\Http\Controllers\AttachmentController::__construct * @covers \FireflyIII\Http\Controllers\AttachmentController::__construct
*/ */
public function testPreview() public function testView()
{ {
$repository = $this->mock(AttachmentRepositoryInterface::class);
$repository->shouldReceive('exists')->once()->andReturn(true);
$repository->shouldReceive('getContent')->once()->andReturn('This is attachment number one.');
$journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class);
$journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal);
$this->be($this->user()); $this->be($this->user());
$response = $this->get(route('attachments.preview', [3])); $response = $this->get(route('attachments.view', [3]));
$response->assertStatus(200); $response->assertStatus(200);
} }

View File

@@ -21,7 +21,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use Route; use Route;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;

View File

@@ -21,7 +21,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\AuthenticateTwoFactor; use FireflyIII\Http\Middleware\AuthenticateTwoFactor;
use FireflyIII\Models\Preference; use FireflyIII\Models\Preference;
@@ -46,32 +46,6 @@ class AuthenticateTwoFactorTest extends TestCase
$response->assertRedirect(route('login')); $response->assertRedirect(route('login'));
} }
/**
* @covers \FireflyIII\Http\Middleware\AuthenticateTwoFactor::handle
*/
public function testMiddlewareAjax()
{
$server = ['HTTP_X-Requested-With' => 'XMLHttpRequest'];
$this->withoutExceptionHandling();
$response = $this->get('/_test/authenticate', $server);
$this->assertEquals(Response::HTTP_UNAUTHORIZED, $response->getStatusCode());
}
/**
* @covers \FireflyIII\Http\Middleware\AuthenticateTwoFactor::handle
*/
public function testMiddlewareBlockedUser()
{
$this->withoutExceptionHandling();
$user = $this->user();
$user->blocked = 1;
$this->be($user);
$response = $this->get('/_test/authenticate');
$this->assertEquals(Response::HTTP_FOUND, $response->getStatusCode());
$response->assertSessionHas('logoutMessage', strval(trans('firefly.block_account_logout')));
$response->assertRedirect(route('login'));
}
/** /**
* tests for user with no 2FA, should just go to requested page. * tests for user with no 2FA, should just go to requested page.
* *

View File

@@ -21,7 +21,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\IsAdmin; use FireflyIII\Http\Middleware\IsAdmin;
use Route; use Route;

View File

@@ -21,9 +21,10 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\IsDemoUser; use FireflyIII\Http\Middleware\IsDemoUser;
use FireflyIII\Http\Middleware\StartFireflySession;
use Route; use Route;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Tests\TestCase; use Tests\TestCase;
@@ -44,19 +45,7 @@ class IsDemoUserTest extends TestCase
$this->assertEquals(Response::HTTP_OK, $response->getStatusCode()); $this->assertEquals(Response::HTTP_OK, $response->getStatusCode());
} }
/**
* @covers \FireflyIII\Http\Middleware\IsDemoUser::handle
*/
public function testMiddlewareDemoUser()
{
$this->withoutExceptionHandling();
$this->be($this->demoUser());
$response = $this->get('/_test/is-demo');
$this->assertEquals(Response::HTTP_FOUND, $response->getStatusCode());
$response->assertSessionHas('warning', strval(trans('firefly.not_available_demo_user')));
$response->assertRedirect(route('index'));
}
/** /**
* @covers \FireflyIII\Http\Middleware\IsDemoUser::handle * @covers \FireflyIII\Http\Middleware\IsDemoUser::handle
@@ -75,7 +64,7 @@ class IsDemoUserTest extends TestCase
{ {
parent::setUp(); parent::setUp();
Route::middleware(IsDemoUser::class)->any( Route::middleware([StartFireflySession::class, IsDemoUser::class])->any(
'/_test/is-demo', function () { '/_test/is-demo', function () {
return 'OK'; return 'OK';
} }

View File

@@ -21,7 +21,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\IsSandStormUser; use FireflyIII\Http\Middleware\IsSandStormUser;
use Route; use Route;

View File

@@ -21,7 +21,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\Range; use FireflyIII\Http\Middleware\Range;
use Route; use Route;

View File

@@ -21,7 +21,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\RedirectIfTwoFactorAuthenticated; use FireflyIII\Http\Middleware\RedirectIfTwoFactorAuthenticated;
use FireflyIII\Models\Preference; use FireflyIII\Models\Preference;

View File

@@ -21,7 +21,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\RedirectIfAuthenticated; use FireflyIII\Http\Middleware\RedirectIfAuthenticated;
use Route; use Route;

View File

@@ -21,7 +21,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Tests\Unit\Helpers; namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\Sandstorm; use FireflyIII\Http\Middleware\Sandstorm;
use FireflyIII\Models\Role; use FireflyIII\Models\Role;