diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 65b64ef0daa0..83c7a08ea183 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -398,6 +398,7 @@ public function update(ImageUploadRequest $request, Asset $asset) : RedirectResp $asset->assigned_to = null; $asset->assigned_type = null; $asset->accepted = null; + $asset->last_checkin = now(); event(new CheckoutableCheckedIn($asset, $target, auth()->user(), 'Checkin on asset update with '.$status->getStatuslabelType().' status', date('Y-m-d H:i:s'), $originalValues)); } diff --git a/tests/Feature/Assets/Ui/EditAssetTest.php b/tests/Feature/Assets/Ui/EditAssetTest.php index 0fe29c6936cd..0e1432e89378 100644 --- a/tests/Feature/Assets/Ui/EditAssetTest.php +++ b/tests/Feature/Assets/Ui/EditAssetTest.php @@ -75,7 +75,10 @@ public function testNewCheckinIsLoggedIfStatusChangedToUndeployable() $user = User::factory()->create(); $deployable_status = Statuslabel::factory()->rtd()->create(); $achived_status = Statuslabel::factory()->archived()->create(); - $asset = Asset::factory()->assignedToUser($user)->create(['status_id' => $deployable_status->id]); + $asset = Asset::factory()->assignedToUser($user)->create([ + 'status_id' => $deployable_status->id, + 'last_checkin' => null, + ]); $this->assertTrue($asset->assignedTo->is($user)); $currentTimestamp = now(); @@ -96,6 +99,7 @@ public function testNewCheckinIsLoggedIfStatusChangedToUndeployable() $this->assertNull($asset->assigned_to); $this->assertNull($asset->assigned_type); $this->assertEquals($achived_status->id, $asset->status_id); + $this->assertNotNull($asset->last_checkin); Event::assertDispatched(function (CheckoutableCheckedIn $event) use ($currentTimestamp) { return (int) Carbon::parse($event->action_date)->diffInSeconds($currentTimestamp, true) < 2;