2016-12-26 15:17:46 -08:00
|
|
|
<?php
|
2021-11-30 20:09:29 -08:00
|
|
|
namespace Tests\Unit;
|
2016-12-26 15:17:46 -08:00
|
|
|
|
|
|
|
use App\Models\AssetMaintenance;
|
2021-12-02 20:14:39 -08:00
|
|
|
use Carbon\Carbon;
|
2023-05-01 16:05:26 -07:00
|
|
|
use Tests\Support\InteractsWithSettings;
|
2023-03-07 16:57:55 -08:00
|
|
|
use Tests\TestCase;
|
2016-12-26 15:17:46 -08:00
|
|
|
|
2023-03-07 16:57:55 -08:00
|
|
|
class AssetMaintenanceTest extends TestCase
|
2016-12-26 15:17:46 -08:00
|
|
|
{
|
2023-05-01 16:05:26 -07:00
|
|
|
use InteractsWithSettings;
|
|
|
|
|
2023-02-07 16:28:40 -08:00
|
|
|
public function testZerosOutWarrantyIfBlank()
|
2016-12-26 15:17:46 -08:00
|
|
|
{
|
|
|
|
$c = new AssetMaintenance;
|
|
|
|
$c->is_warranty = '';
|
|
|
|
$this->assertTrue($c->is_warranty === 0);
|
|
|
|
$c->is_warranty = '4';
|
2021-06-10 13:15:52 -07:00
|
|
|
$this->assertTrue($c->is_warranty == 4);
|
2016-12-26 15:17:46 -08:00
|
|
|
}
|
|
|
|
|
2023-02-07 16:28:40 -08:00
|
|
|
public function testSetsCostsAppropriately()
|
2016-12-26 15:17:46 -08:00
|
|
|
{
|
|
|
|
$c = new AssetMaintenance();
|
|
|
|
$c->cost = '0.00';
|
|
|
|
$this->assertTrue($c->cost === null);
|
|
|
|
$c->cost = '9.54';
|
2021-06-10 13:15:52 -07:00
|
|
|
$this->assertTrue($c->cost === 9.54);
|
2016-12-26 15:17:46 -08:00
|
|
|
$c->cost = '9.50';
|
2021-06-10 13:15:52 -07:00
|
|
|
$this->assertTrue($c->cost === 9.5);
|
2016-12-26 15:17:46 -08:00
|
|
|
}
|
|
|
|
|
2023-02-07 16:28:40 -08:00
|
|
|
public function testNullsOutNotesIfBlank()
|
2016-12-26 15:17:46 -08:00
|
|
|
{
|
|
|
|
$c = new AssetMaintenance;
|
|
|
|
$c->notes = '';
|
|
|
|
$this->assertTrue($c->notes === null);
|
|
|
|
$c->notes = 'This is a long note';
|
2021-06-10 13:15:52 -07:00
|
|
|
$this->assertTrue($c->notes === 'This is a long note');
|
2016-12-26 15:17:46 -08:00
|
|
|
}
|
|
|
|
|
2023-02-07 16:28:40 -08:00
|
|
|
public function testNullsOutCompletionDateIfBlankOrInvalid()
|
2016-12-26 15:17:46 -08:00
|
|
|
{
|
|
|
|
$c = new AssetMaintenance;
|
|
|
|
$c->completion_date = '';
|
|
|
|
$this->assertTrue($c->completion_date === null);
|
|
|
|
$c->completion_date = '0000-00-00';
|
2021-06-10 13:15:52 -07:00
|
|
|
$this->assertTrue($c->completion_date === null);
|
2016-12-26 15:17:46 -08:00
|
|
|
$c->completion_date = '2017-05-12';
|
2021-06-10 13:15:52 -07:00
|
|
|
$this->assertTrue($c->completion_date == Carbon::parse('2017-05-12'));
|
2016-12-26 15:17:46 -08:00
|
|
|
}
|
2018-07-16 17:44:03 -07:00
|
|
|
}
|