Add test for login check

This commit is contained in:
Philipp Lang 2023-05-07 21:17:28 +02:00
parent ab53a80c4d
commit 48b1808497
3 changed files with 7 additions and 5 deletions
app/Http/Middleware
routes
tests/Feature/Initializer

View File

@ -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.

View File

@ -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');

View File

@ -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.']);