74 lines
2.4 KiB
PHP
74 lines
2.4 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Tests\Http\Controllers\CsvController\CsvCostCalc;
|
||
|
|
||
|
use App\Http\Controllers\CsvController\CsvCostCalc\CsvMinuteCostCalc;
|
||
|
use PHPUnit\Framework\TestCase;
|
||
|
|
||
|
class CsvMinuteCostCalcTest extends TestCase
|
||
|
{
|
||
|
|
||
|
protected $CsvMinuteCostCalc;
|
||
|
|
||
|
protected function setUp(): void
|
||
|
{
|
||
|
|
||
|
$this->csv_minute_cost_calc = new CsvMinuteCostCalc(); // Replace CsvMinuteCostCalc with the actual class name
|
||
|
$this->csv_minute_cost_calc->partner_organization = 'PartnerOrg'; // Set up the partner organization
|
||
|
$this->csv_minute_cost_calc->price_partner = [
|
||
|
'high' => 100,
|
||
|
'normal' => 50,
|
||
|
'low' => 25,
|
||
|
'0' => 0
|
||
|
];
|
||
|
$this->csv_minute_cost_calc->price_client = [
|
||
|
'high' => 200,
|
||
|
'normal' => 100,
|
||
|
'low' => 50,
|
||
|
'0' => 0
|
||
|
];
|
||
|
}
|
||
|
|
||
|
public function testSelectCorrectCostForPartnerHighPriority()
|
||
|
{
|
||
|
$result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/PartnerOrg', 'Priority/critical');
|
||
|
$this->assertEquals(100, $result);
|
||
|
}
|
||
|
|
||
|
public function testSelectCorrectCostForPartnerMediumPriority()
|
||
|
{
|
||
|
$result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/PartnerOrg', 'Priority/medium');
|
||
|
$this->assertEquals(50, $result);
|
||
|
}
|
||
|
|
||
|
public function testSelectCorrectCostForClientHighPriority()
|
||
|
{
|
||
|
$result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/Client', 'Priority/critical');
|
||
|
$this->assertEquals(200, $result);
|
||
|
}
|
||
|
|
||
|
public function testSelectCorrectCostForClientLowPriority()
|
||
|
{
|
||
|
$result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/Client', 'Priority/low');
|
||
|
$this->assertEquals(50, $result);
|
||
|
}
|
||
|
|
||
|
public function testSelectCorrectCostWithUnknownPriority()
|
||
|
{
|
||
|
$result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/Client', 'Priority/unknown');
|
||
|
$this->assertEquals(0, $result);
|
||
|
}
|
||
|
|
||
|
public function testSelectCorrectCostForPartnerLowPriority()
|
||
|
{
|
||
|
$result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/PartnerOrg', 'Priority/low');
|
||
|
$this->assertEquals(25, $result);
|
||
|
}
|
||
|
|
||
|
public function testSelectCorrectCostWithExceptionHandling()
|
||
|
{
|
||
|
$result = $this->csv_minute_cost_calc->select_correct_cost('', '');
|
||
|
$this->assertEquals(0, $result); // Assuming default is 0
|
||
|
}
|
||
|
}
|