snipe-it/tests/Unit/AssetMaintenanceTest.php

55 lines
1.5 KiB
PHP
Raw Normal View History

<?php
namespace Tests\Unit;
use App\Models\AssetMaintenance;
use Carbon\Carbon;
2023-03-07 16:57:55 -08:00
use Tests\TestCase;
2023-03-07 16:57:55 -08:00
class AssetMaintenanceTest extends TestCase
{
/**
* @var \UnitTester
*/
protected $tester;
2023-02-07 16:28:40 -08:00
public function testZerosOutWarrantyIfBlank()
{
$c = new AssetMaintenance;
$c->is_warranty = '';
$this->assertTrue($c->is_warranty === 0);
$c->is_warranty = '4';
$this->assertTrue($c->is_warranty == 4);
}
2023-02-07 16:28:40 -08:00
public function testSetsCostsAppropriately()
{
$c = new AssetMaintenance();
$c->cost = '0.00';
$this->assertTrue($c->cost === null);
$c->cost = '9.54';
$this->assertTrue($c->cost === 9.54);
$c->cost = '9.50';
$this->assertTrue($c->cost === 9.5);
}
2023-02-07 16:28:40 -08:00
public function testNullsOutNotesIfBlank()
{
$c = new AssetMaintenance;
$c->notes = '';
$this->assertTrue($c->notes === null);
$c->notes = 'This is a long note';
$this->assertTrue($c->notes === 'This is a long note');
}
2023-02-07 16:28:40 -08:00
public function testNullsOutCompletionDateIfBlankOrInvalid()
{
$c = new AssetMaintenance;
$c->completion_date = '';
$this->assertTrue($c->completion_date === null);
$c->completion_date = '0000-00-00';
$this->assertTrue($c->completion_date === null);
$c->completion_date = '2017-05-12';
$this->assertTrue($c->completion_date == Carbon::parse('2017-05-12'));
}
}