Added tests

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2024-05-31 20:42:32 +01:00
parent a15ed6eaee
commit dd0a16c3d5
2 changed files with 68 additions and 0 deletions

View file

@ -28,6 +28,16 @@ class AssetCheckinTest extends TestCase
{
$this->actingAs(User::factory()->checkinAssets()->create())
->post(route('hardware.checkin.store', ['assetId' => Asset::factory()->create()->id]))
->assertStatus(302)
->assertSessionHas('error')
->assertRedirect(route('hardware.index'));
}
public function testCannotStoreAssetCheckinThatIsNotCheckedOut()
{
$this->actingAs(User::factory()->checkinAssets()->create())
->get(route('hardware.checkin.store', ['assetId' => Asset::factory()->create()->id]))
->assertStatus(302)
->assertSessionHas('error')
->assertRedirect(route('hardware.index'));
}
@ -159,4 +169,31 @@ class AssetCheckinTest extends TestCase
return $event->action_date === '2023-01-02' && $event->note === 'hello';
}, 1);
}
public function testAssetCheckinPageIsRedirectedIfModelIsInvalid()
{
$asset = Asset::factory()->assignedToUser()->create();
$asset->model_id = 0;
$asset->forceSave();
$this->actingAs(User::factory()->admin()->create())
->get(route('hardware.checkin.create', ['assetId' => $asset->id]))
->assertStatus(302)
->assertSessionHas('error')
->assertRedirect(route('hardware.show',['hardware' => $asset->id]));
}
public function testAssetCheckinPagePostIsRedirectedIfModelIsInvalid()
{
$asset = Asset::factory()->assignedToUser()->create();
$asset->model_id = 0;
$asset->forceSave();
$this->actingAs(User::factory()->admin()->create())
->post(route('hardware.checkin.store', ['assetId' => $asset->id]))
->assertStatus(302)
->assertSessionHas('error')
->assertRedirect(route('hardware.show', ['hardware' => $asset->id]));
}
}

View file

@ -236,4 +236,35 @@ class AssetCheckoutTest extends TestCase
$this->assertTrue(Carbon::parse($asset->last_checkout)->diffInSeconds(now()) < 2);
}
public function testAssetCheckoutPageIsRedirectedIfModelIsInvalid()
{
$asset = Asset::factory()->create();
$asset->model_id = 0;
$asset->forceSave();
$this->actingAs(User::factory()->admin()->create())
->get(route('hardware.checkout.create', ['assetId' => $asset->id]))
->assertStatus(302)
->assertSessionHas('error')
->assertRedirect(route('hardware.show',['hardware' => $asset->id]));
}
public function testAssetCheckoutPagePostIsRedirectedIfModelIsInvalid()
{
$asset = Asset::factory()->create();
$asset->model_id = 0;
$asset->forceSave();
$user = User::factory()->create();
$this->actingAs(User::factory()->admin()->create())
->post(route('hardware.checkout.store', $asset), [
'checkout_to_type' => 'user',
'assigned_user' => $user->id,
])
->assertStatus(302)
->assertSessionHas('error')
->assertRedirect(route('hardware.show', ['hardware' => $asset->id]));
}
}