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 Log;
use Preferences;
use Auth;
use Session;
/**
* Class AuthenticateTwoFactor.
*/
@@ -43,6 +44,11 @@ class AuthenticateTwoFactor
*/
public function handle(Request $request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
return redirect()->guest('login');
}
$is2faEnabled = Preferences::get('twoFactorAuthEnabled', false)->data;
$has2faSecret = null !== Preferences::get('twoFactorAuthSecret');
$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::__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->shouldReceive('first')->once()->andReturn(new TransactionJournal);
$this->be($this->user());
$response = $this->get(route('attachments.preview', [3]));
$response = $this->get(route('attachments.view', [3]));
$response->assertStatus(200);
}

View File

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

View File

@@ -21,7 +21,7 @@
declare(strict_types=1);
namespace Tests\Unit\Helpers;
namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\AuthenticateTwoFactor;
use FireflyIII\Models\Preference;
@@ -46,32 +46,6 @@ class AuthenticateTwoFactorTest extends TestCase
$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.
*

View File

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

View File

@@ -21,9 +21,10 @@
declare(strict_types=1);
namespace Tests\Unit\Helpers;
namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\IsDemoUser;
use FireflyIII\Http\Middleware\StartFireflySession;
use Route;
use Symfony\Component\HttpFoundation\Response;
use Tests\TestCase;
@@ -44,19 +45,7 @@ class IsDemoUserTest extends TestCase
$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
@@ -75,7 +64,7 @@ class IsDemoUserTest extends TestCase
{
parent::setUp();
Route::middleware(IsDemoUser::class)->any(
Route::middleware([StartFireflySession::class, IsDemoUser::class])->any(
'/_test/is-demo', function () {
return 'OK';
}

View File

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

View File

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

View File

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

View File

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

View File

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