27-05-2026 DHL Modul v2.1 / Optimierung tracking
This commit is contained in:
parent
036595be94
commit
2bdc9ada3c
33 changed files with 2367 additions and 2086 deletions
47
tests/Unit/Dhl/DhlModalAuthorizationTest.php
Normal file
47
tests/Unit/Dhl/DhlModalAuthorizationTest.php
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
|
||||
use App\Http\Controllers\ModalController;
|
||||
use App\User;
|
||||
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||
|
||||
function invokeDhlModalAuth(?User $user): void
|
||||
{
|
||||
if ($user !== null) {
|
||||
Auth::shouldReceive('user')->andReturn($user);
|
||||
} else {
|
||||
Auth::shouldReceive('user')->andReturnNull();
|
||||
}
|
||||
|
||||
$controller = new ModalController;
|
||||
$method = (new ReflectionClass(ModalController::class))->getMethod('authorizeDhlShipmentModal');
|
||||
$method->setAccessible(true);
|
||||
$method->invoke($controller);
|
||||
}
|
||||
|
||||
afterEach(function () {
|
||||
Mockery::close();
|
||||
});
|
||||
|
||||
it('rejects guests for the DHL shipment modal', function () {
|
||||
invokeDhlModalAuth(null);
|
||||
})->throws(HttpException::class, 'DHL shipment modal is only available for admin users.');
|
||||
|
||||
it('rejects VIP users (admin == 1) for the DHL shipment modal', function () {
|
||||
$vip = (new User)->forceFill(['admin' => 1]);
|
||||
|
||||
invokeDhlModalAuth($vip);
|
||||
})->throws(HttpException::class, 'DHL shipment modal is only available for admin users.');
|
||||
|
||||
it('rejects regular consultants for the DHL shipment modal', function () {
|
||||
$consultant = (new User)->forceFill(['admin' => 0]);
|
||||
|
||||
invokeDhlModalAuth($consultant);
|
||||
})->throws(HttpException::class, 'DHL shipment modal is only available for admin users.');
|
||||
|
||||
it('allows real admin users (admin >= 2) for the DHL shipment modal', function () {
|
||||
$admin = (new User)->forceFill(['admin' => 2]);
|
||||
|
||||
invokeDhlModalAuth($admin);
|
||||
|
||||
expect(true)->toBeTrue();
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue