Added tests

This commit is contained in:
snipe
2026-04-20 15:30:25 +01:00
parent 7eb6ebb60d
commit 5d7123eb05
3 changed files with 107 additions and 8 deletions
+20 -8
View File
@@ -5,6 +5,7 @@ namespace Tests\Feature\Licenses\Ui;
use App\Models\Depreciation;
use App\Models\License;
use App\Models\User;
use Carbon\Carbon;
use Tests\TestCase;
class LicenseViewTest extends TestCase
@@ -26,13 +27,24 @@ class LicenseViewTest extends TestCase
public function test_license_with_purchase_date_depreciates_correctly()
{
$depreciation = Depreciation::factory()->create(['months' => 12]);
$license = License::factory()->create(['depreciation_id' => $depreciation->id, 'purchase_date' => '2020-01-01']);
$this->actingAs(User::factory()->superuser()->create())
->get(route('licenses.show', $license))
->assertOk()
->assertSee([
'2021-01-01',
], false);
Carbon::setTestNow(Carbon::create(2021, 1, 1, 0, 0, 0));
try {
$depreciation = Depreciation::factory()->create(['months' => 24]);
$license = License::factory()->create([
'depreciation_id' => $depreciation->id,
'purchase_date' => '2020-01-01',
]);
$this->actingAs(User::factory()->superuser()->create())
->get(route('licenses.show', $license))
->assertOk()
->assertSee([
'2022-01-01',
'(50%)',
], false);
} finally {
Carbon::setTestNow();
}
}
}
+50
View File
@@ -9,6 +9,7 @@ use App\Models\Asset;
use App\Models\AssetModel;
use App\Models\Category;
use App\Models\Component;
use App\Models\Depreciation;
use App\Models\Setting;
use App\Models\Statuslabel;
use App\Models\User;
@@ -195,6 +196,55 @@ class AssetTest extends TestCase
}
public function test_eol_progress_percent_returns_expected_value(): void
{
Carbon::setTestNow(Carbon::create(2026, 1, 1, 0, 0, 0));
try {
$asset = Asset::factory()->create([
'purchase_date' => '2025-01-01',
'eol_explicit' => 1,
]);
$asset->asset_eol_date = '2027-01-01';
$asset->save();
$asset->refresh();
$this->assertSame(50.0, $asset->eolProgressPercent());
} finally {
Carbon::setTestNow();
}
}
public function test_depreciation_progress_percent_returns_expected_value(): void
{
Carbon::setTestNow(Carbon::create(2026, 1, 1, 0, 0, 0));
try {
$depreciation = Depreciation::factory()->create(['months' => 24]);
$model = AssetModel::factory()->create(['depreciation_id' => $depreciation->id]);
$asset = Asset::factory()->create([
'model_id' => $model->id,
'purchase_date' => '2025-01-01',
]);
$this->assertSame(50.0, $asset->depreciationProgressPercent());
} finally {
Carbon::setTestNow();
}
}
public function test_warranty_progress_percent_returns_zero_without_required_dates(): void
{
$asset = Asset::factory()->create([
'purchase_date' => null,
'warranty_months' => 24,
]);
$this->assertSame(0.0, $asset->warrantyProgressPercent());
}
public function test_assigned_type_without_assign_to()
{
$user = User::factory()->create();
+37
View File
@@ -5,6 +5,7 @@ namespace Tests\Unit\Models;
use App\Enums\ActionType;
use App\Models\License;
use App\Models\User;
use Carbon\Carbon;
use Tests\TestCase;
class LicenseTest extends TestCase
@@ -100,4 +101,40 @@ class LicenseTest extends TestCase
$license->remaining = 99;
$this->assertEquals(100.0, $license->percentRemaining());
}
public function test_depreciation_progress_percent_is_available_for_license(): void
{
Carbon::setTestNow(Carbon::create(2026, 1, 1, 0, 0, 0));
try {
$license = new class extends License
{
public function depreciated_date()
{
return date_create('2027-01-01');
}
};
$license->purchase_date = '2025-01-01';
$this->assertSame(50.0, $license->depreciationProgressPercent());
} finally {
Carbon::setTestNow();
}
}
public function test_depreciation_progress_percent_returns_zero_when_dates_are_missing(): void
{
$license = new class extends License
{
public function depreciated_date()
{
return null;
}
};
$license->purchase_date = null;
$this->assertSame(0.0, $license->depreciationProgressPercent());
}
}