mirror of
https://github.com/snipe/snipe-it.git
synced 2025-02-02 08:21:09 -08:00
test checkout to user on store
This commit is contained in:
parent
cba5f869c0
commit
15d11f7f4e
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api;
|
||||||
|
|
||||||
use App\Events\CheckoutableCheckedIn;
|
use App\Events\CheckoutableCheckedIn;
|
||||||
use App\Http\Requests\StoreAssetRequest;
|
use App\Http\Requests\StoreAssetRequest;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Support\Facades\Crypt;
|
use Illuminate\Support\Facades\Crypt;
|
||||||
use Illuminate\Support\Facades\Gate;
|
use Illuminate\Support\Facades\Gate;
|
||||||
use App\Helpers\Helper;
|
use App\Helpers\Helper;
|
||||||
|
@ -534,17 +535,17 @@ class AssetsController extends Controller
|
||||||
* @since [v4.0]
|
* @since [v4.0]
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @return \Illuminate\Http\JsonResponse
|
||||||
*/
|
*/
|
||||||
public function store(StoreAssetRequest $request)
|
public function store(StoreAssetRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$asset = new Asset();
|
$asset = new Asset();
|
||||||
$asset->model()->associate(AssetModel::find((int) $request->get('model_id')));
|
$asset->model()->associate(AssetModel::find((int) $request->get('model_id')));
|
||||||
|
|
||||||
$asset->fill($request->validated());
|
$asset->fill($request->validated());
|
||||||
|
|
||||||
$asset->user_id = Auth::id();
|
$asset->user_id = Auth::id();
|
||||||
$asset->archived = '0';
|
$asset->archived = '0';
|
||||||
$asset->physical = '1';
|
$asset->physical = '1';
|
||||||
$asset->depreciate = '0';
|
$asset->depreciate = '0';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this is here just legacy reasons. Api\AssetController
|
* this is here just legacy reasons. Api\AssetController
|
||||||
|
|
|
@ -240,4 +240,30 @@ class AssetStoreTest extends TestCase
|
||||||
->assertOk()
|
->assertOk()
|
||||||
->assertStatusMessageIs('success');
|
->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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue