test checkout to user on store

This commit is contained in:
spencerrlongg 2023-11-28 21:46:03 -06:00
parent cba5f869c0
commit 15d11f7f4e
2 changed files with 32 additions and 5 deletions

View file

@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api;
use App\Events\CheckoutableCheckedIn;
use App\Http\Requests\StoreAssetRequest;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\Gate;
use App\Helpers\Helper;
@ -534,17 +535,17 @@ class AssetsController extends Controller
* @since [v4.0]
* @return \Illuminate\Http\JsonResponse
*/
public function store(StoreAssetRequest $request)
public function store(StoreAssetRequest $request): JsonResponse
{
$asset = new Asset();
$asset->model()->associate(AssetModel::find((int) $request->get('model_id')));
$asset->fill($request->validated());
$asset->user_id = Auth::id();
$asset->archived = '0';
$asset->physical = '1';
$asset->depreciate = '0';
$asset->user_id = Auth::id();
$asset->archived = '0';
$asset->physical = '1';
$asset->depreciate = '0';
/**
* this is here just legacy reasons. Api\AssetController

View file

@ -240,4 +240,30 @@ class AssetStoreTest extends TestCase
->assertOk()
->assertStatusMessageIs('success');
}
public function testAnAssetCanBeCheckedOutToUserOnStore()
{
$model = AssetModel::factory()->create();
$status = Statuslabel::factory()->create();
$user = User::factory()->createAssets()->create();
$userAssigned = User::factory()->create();
$this->settings->enableAutoIncrement();
$response = $this->actingAsForApi($user)
->postJson(route('api.assets.store'), [
'assigned_user' => $userAssigned->id,
'assigned_to' => $userAssigned->id, // why are both of these needed? documentation says only assigned_user
'model_id' => $model->id,
'status_id' => $status->id,
])
->assertOk()
->assertStatusMessageIs('success')
->json();
$asset = Asset::find($response['payload']['id']);
$this->assertTrue($asset->adminuser->is($user));
$this->assertTrue($asset->assignedTo->is($userAssigned));
}
}