From 48b180849733471208d160096ec282fdecf01e09 Mon Sep 17 00:00:00 2001 From: Philipp Lang <privat@zoomyboy.de> Date: Sun, 7 May 2023 21:17:28 +0200 Subject: [PATCH] Add test for login check --- .../Middleware/RedirectIfNotInitializedMiddleware.php | 2 +- routes/web.php | 2 ++ tests/Feature/Initializer/ValidateLoginTest.php | 8 ++++---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/Http/Middleware/RedirectIfNotInitializedMiddleware.php b/app/Http/Middleware/RedirectIfNotInitializedMiddleware.php index 8b01d049..75b05845 100644 --- a/app/Http/Middleware/RedirectIfNotInitializedMiddleware.php +++ b/app/Http/Middleware/RedirectIfNotInitializedMiddleware.php @@ -11,7 +11,7 @@ class RedirectIfNotInitializedMiddleware /** * @var array<int, string> */ - public array $dontRedirect = ['initialize.form', 'initialize.store', 'nami.search']; + public array $dontRedirect = ['initialize.form', 'initialize.store', 'nami.login-check', 'nami.search']; /** * Handle an incoming request. diff --git a/routes/web.php b/routes/web.php index 8f6f4b1e..c8a28de5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,6 +17,7 @@ use App\Dashboard\Actions\IndexAction as DashboardIndexAction; use App\Efz\ShowEfzDocumentAction; use App\Initialize\Actions\InitializeAction; use App\Initialize\Actions\InitializeFormAction; +use App\Initialize\Actions\NamiLoginCheckAction; use App\Initialize\Actions\NamiSearchAction; use App\Member\Actions\ExportAction; use App\Member\Actions\MemberResyncAction; @@ -39,6 +40,7 @@ Route::group(['namespace' => 'App\\Http\\Controllers'], function (): void { Route::group(['middleware' => 'auth:web'], function (): void { Route::get('/', DashboardIndexAction::class)->name('home'); + Route::post('/nami/login-check', NamiLoginCheckAction::class)->name('nami.login-check'); Route::post('/nami/search', NamiSearchAction::class)->name('nami.search'); Route::post('/api/member/search', SearchAction::class)->name('member.search'); Route::get('/initialize', InitializeFormAction::class)->name('initialize.form'); diff --git a/tests/Feature/Initializer/ValidateLoginTest.php b/tests/Feature/Initializer/ValidateLoginTest.php index 862dd31b..1cfbcb04 100644 --- a/tests/Feature/Initializer/ValidateLoginTest.php +++ b/tests/Feature/Initializer/ValidateLoginTest.php @@ -21,7 +21,7 @@ class ValidateLoginTest extends TestCase { Auth::success(333, 'secret'); - $this->postJson('/nami-login-check', [ + $this->postJson('/nami/login-check', [ 'mglnr' => 333, 'password' => 'secret', ])->assertStatus(204); @@ -29,7 +29,7 @@ class ValidateLoginTest extends TestCase public function testItNeedsPasswordAndMglnr(): void { - $this->postJson('/nami-login-check', [ + $this->postJson('/nami/login-check', [ 'mglnr' => '', 'password' => '', ])->assertJsonValidationErrors(['mglnr', 'password']); @@ -37,7 +37,7 @@ class ValidateLoginTest extends TestCase public function testMglnrShouldBeNumeric(): void { - $this->postJson('/nami-login-check', [ + $this->postJson('/nami/login-check', [ 'mglnr' => 'aaa', 'password' => 'secret', ])->assertJsonValidationErrors(['mglnr']); @@ -45,7 +45,7 @@ class ValidateLoginTest extends TestCase public function testLoginCanFail(): void { - $this->postJson('/nami-login-check', [ + $this->postJson('/nami/login-check', [ 'mglnr' => '111', 'password' => 'secret', ])->assertJsonValidationErrors(['nami' => 'NaMi Login fehlgeschlagen.']);