Files
UNIT3D/tests/Feature/Http/Controllers/User/GiftControllerTest.php
Roardom 868ad35aa4 refactor: swap magic RedirectResponse withX('Y') to with('X', 'Y')
Allows ctrl+clicking to access the underlying function unlike the previous magic implementation. Probably also negligibly faster.

Swapped all instances of `>withSuccess(` -> `>with('success', `, `>withWarning(` -> `>with('warning', `, and `>withInfo(` -> `>with('info', ` with ide's find and replace.
2025-01-21 16:05:11 +00:00

109 lines
3.6 KiB
PHP

<?php
declare(strict_types=1);
/**
* NOTICE OF LICENSE.
*
* UNIT3D Community Edition is open-sourced software licensed under the GNU Affero General Public License v3.0
* The details is bundled with this project in the file LICENSE.txt.
*
* @project UNIT3D Community Edition
*
* @author HDVinnie <hdinnovations@protonmail.com>
* @license https://www.gnu.org/licenses/agpl-3.0.en.html/ GNU Affero General Public License v3.0
*/
use App\Http\Controllers\User\GiftController;
use App\Http\Requests\StoreGiftRequest;
use App\Models\BonTransactions;
use App\Models\User;
test('create returns an ok response', function (): void {
$this->markTestIncomplete('This test case was generated by Shift. When you are ready, remove this line and complete this test case.');
$user = User::factory()->create();
$authUser = User::factory()->create();
$response = $this->actingAs($authUser)->get(route('users.gifts.create', [$user]));
$response->assertOk();
$response->assertViewIs('user.gift.create');
$response->assertViewHas('user', $user);
$response->assertViewHas('bon');
// TODO: perform additional assertions
});
test('create aborts with a 403', function (): void {
$this->markTestIncomplete('This test case was generated by Shift. When you are ready, remove this line and complete this test case.');
$user = User::factory()->create();
$authUser = User::factory()->create();
// TODO: perform additional setup to trigger `abort_unless(403)`...
$response = $this->actingAs($authUser)->get(route('users.gifts.create', [$user]));
$response->assertForbidden();
});
test('index returns an ok response', function (): void {
$this->markTestIncomplete('This test case was generated by Shift. When you are ready, remove this line and complete this test case.');
$user = User::factory()->create();
$bonTransactions = BonTransactions::factory()->times(3)->create();
$authUser = User::factory()->create();
$response = $this->actingAs($authUser)->get(route('users.gifts.index', [$user]));
$response->assertOk();
$response->assertViewIs('user.gift.index');
$response->assertViewHas('user', $user);
$response->assertViewHas('gifts');
$response->assertViewHas('bon');
$response->assertViewHas('sentGifts');
$response->assertViewHas('receivedGifts');
// TODO: perform additional assertions
});
test('index aborts with a 403', function (): void {
$this->markTestIncomplete('This test case was generated by Shift. When you are ready, remove this line and complete this test case.');
$user = User::factory()->create();
$bonTransactions = BonTransactions::factory()->times(3)->create();
$authUser = User::factory()->create();
// TODO: perform additional setup to trigger `abort_unless(403)`...
$response = $this->actingAs($authUser)->get(route('users.gifts.index', [$user]));
$response->assertForbidden();
});
test('store validates with a form request', function (): void {
$this->assertActionUsesFormRequest(
GiftController::class,
'store',
StoreGiftRequest::class
);
});
test('store returns an ok response', function (): void {
$this->markTestIncomplete('This test case was generated by Shift. When you are ready, remove this line and complete this test case.');
$user = User::factory()->create();
$authUser = User::factory()->create();
$response = $this->actingAs($authUser)->post(route('users.gifts.store', [$user]), [
// TODO: send request data
]);
$response->assertRedirect(with('success', trans('bon.gift-sent')));
// TODO: perform additional assertions
});
// test cases...