gitea_issues_exporter/tests/Http/Controllers/CsvController/CsvCostCalc/CsvMinuteCostCalcTest.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
}
}