Skip to content

Commit 12b8b5f

Browse files
author
DulsaraNethmin
committed
OHRM5X-1959: Write testcases for MyClaimRequestAPI
1 parent 224ddc6 commit 12b8b5f

File tree

6 files changed

+507
-6
lines changed

6 files changed

+507
-6
lines changed

src/plugins/orangehrmClaimPlugin/Api/EmployeeClaimRequestAPI.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,10 @@ protected function getEndPointCollectionResult(array $claimRequests, int $count)
320320
);
321321
}
322322

323+
/**
324+
* @param ClaimRequestSearchFilterParams $claimRequestSearchFilterParams
325+
* @return void
326+
*/
323327
protected function setEmpNumbers(ClaimRequestSearchFilterParams $claimRequestSearchFilterParams): void
324328
{
325329
$empNumber = $this->getRequestParams()->getIntOrNull(
@@ -341,6 +345,10 @@ protected function setEmpNumbers(ClaimRequestSearchFilterParams $claimRequestSea
341345
}
342346
}
343347

348+
/**
349+
* @param ClaimRequestSearchFilterParams $myClaimRequestSearchFilterParams
350+
* @return void
351+
*/
344352
private function getCommonFilterParams(ClaimRequestSearchFilterParams $myClaimRequestSearchFilterParams): void
345353
{
346354
$myClaimRequestSearchFilterParams->setReferenceId(
@@ -375,6 +383,9 @@ private function getCommonFilterParams(ClaimRequestSearchFilterParams $myClaimRe
375383
);
376384
}
377385

386+
/**
387+
* @return ParamRuleCollection
388+
*/
378389
protected function getCommonParamRuleCollectionGetAll(): ParamRuleCollection
379390
{
380391
return new ParamRuleCollection(

src/plugins/orangehrmClaimPlugin/Dto/ClaimRequestSearchFilterParams.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class ClaimRequestSearchFilterParams extends FilterParams
3434
/**
3535
* @var string|null
3636
*/
37-
protected ?string $referenceId;
37+
protected ?string $referenceId = null;
3838

3939
/**
4040
* @var int[]|null
@@ -44,22 +44,22 @@ class ClaimRequestSearchFilterParams extends FilterParams
4444
/**
4545
* @var int|null
4646
*/
47-
protected ?int $eventId;
47+
protected ?int $eventId = null;
4848

4949
/**
5050
* @var string|null
5151
*/
52-
protected ?string $status;
52+
protected ?string $status = null;
5353

5454
/**
5555
* @var DateTime|null
5656
*/
57-
protected ?DateTime $fromDate;
57+
protected ?DateTime $fromDate = null;
5858

5959
/**
6060
* @var DateTime|null
6161
*/
62-
protected ?DateTime $toDate;
62+
protected ?DateTime $toDate = null;
6363

6464
public function __construct()
6565
{

src/plugins/orangehrmClaimPlugin/test/Api/MyClaimRequestAPITest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,23 @@ public function dataProviderForTestGetOne(): array
7676
{
7777
return $this->getTestCases('MyClaimRequestAPITestCases.yaml', 'GetOne');
7878
}
79+
80+
/**
81+
* @dataProvider dataProviderForTestGetAll
82+
*/
83+
public function testGetAll(TestCaseParams $testCaseParams): void
84+
{
85+
$this->populateFixtures('MyClaimRequestAPITest.yaml', null, true);
86+
$this->createKernelWithMockServices([
87+
Services::AUTH_USER => $this->getMockAuthUser($testCaseParams)
88+
]);
89+
$this->registerServices($testCaseParams);
90+
$api = $this->getApiEndpointMock(MyClaimRequestAPI::class, $testCaseParams);
91+
$this->assertValidTestCase($api, 'getAll', $testCaseParams);
92+
}
93+
94+
public function dataProviderForTestGetAll(): array
95+
{
96+
return $this->getTestCases('MyClaimRequestAPITestCases.yaml', 'GetAll');
97+
}
7998
}

src/plugins/orangehrmClaimPlugin/test/Dao/ClaimDaoRequestTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
namespace OrangeHRM\Tests\Claim\Dao;
2121

2222
use OrangeHRM\Claim\Dao\ClaimDao;
23+
use OrangeHRM\Claim\Dto\ClaimRequestSearchFilterParams;
2324
use OrangeHRM\Config\Config;
2425
use OrangeHRM\Tests\Util\KernelTestCase;
2526
use OrangeHRM\Tests\Util\TestDataService;
@@ -44,4 +45,12 @@ public function testGetClaimRequestById(): void
4445
$result = $this->claimDao->getClaimRequestById(1);
4546
$this->assertEquals(1, $result->getId());
4647
}
48+
49+
public function testGetClaimRequestList(): void
50+
{
51+
$claimRequestSearchFilterParams = new ClaimRequestSearchFilterParams();
52+
$claimRequestSearchFilterParams->setEmpNumbers([4]);
53+
$claimRequests = $this->claimDao->getClaimRequestList($claimRequestSearchFilterParams);
54+
$this->assertEquals(4, count($claimRequests));
55+
}
4756
}

src/plugins/orangehrmClaimPlugin/test/fixtures/MyClaimRequestAPITest.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ CurrencyType:
4343
1: { code: 2, currency_id: "USD", currency_name: "United States Dollar" }
4444

4545
ClaimRequest:
46-
0: { id: 1, emp_number: 4, added_by: 1, reference_id: 202301170000001, event_type_id: 3, description: "Travel expenses for business trip to New York", currency_id: USD, is_deleted: false, status: 'INITIATED', created_date: "2022-12-01 12:00:00", submitted_date: "2022-12-15 17:00:00" },
46+
0: { id: 1, emp_number: 4, added_by: 1, reference_id: 202301170000001, event_type_id: 3, description: "Travel expenses for business trip to New York", currency_id: USD, is_deleted: false, status: 'INITIATED', created_date: "2022-12-01 12:00:00", submitted_date: null },
4747
1: { id: 2, emp_number: 1, added_by: 2, reference_id: 202301170000002, event_type_id: 3, description: "Marketing expenses for trade show", currency_id: USD, is_deleted: false, status: 'SUBMITTED', created_date: "2022-11-20 09:00:00", submitted_date: "2022-11-25 15:00:00" },
4848
2: { id: 3, emp_number: 1, added_by: 2, reference_id: 202301170000003, event_type_id: 4, description: "Equipment purchase for IT department", currency_id: USD, is_deleted: false, status: 'SUBMITTED', created_date: "2022-10-15 14:00:00", submitted_date: "2022-10-15 14:00:00" },
4949
3: { id: 4, emp_number: 4, added_by: 1, reference_id: 202301170000004, event_type_id: 2, description: "Salary expenses for temporary employee", currency_id: USD, is_deleted: false, status: 'SUBMITTED', created_date: "2022-09-01 08:00:00", submitted_date: "2022-09-30 18:00:00" },
@@ -52,3 +52,10 @@ ClaimRequest:
5252
6: { id: 7, emp_number: 1, added_by: 2, reference_id: 202301170000007, event_type_id: 4, description: "Training expenses for team building seminar", currency_id: USD, is_deleted: false, status: 'REJECTED', created_date: "2022-07-01 09:00:00", submitted_date: "2022-07-15 17:00:00" }
5353
7: { id: 8, emp_number: 4, added_by: 1, reference_id: 202301170000008, event_type_id: 3, description: "Travel expenses for business trip to New York", currency_id: USD, is_deleted: false, status: 'CANCELLED', created_date: "2022-12-01 12:00:00", submitted_date: "2022-12-15 17:00:00" },
5454
8: { id: 9, emp_number: 1, added_by: 1, reference_id: 202301170000009, event_type_id: 3, description: "Travel expenses for business trip to New York", currency_id: USD, is_deleted: false, status: 'CANCELLED', created_date: "2022-12-01 12:00:00", submitted_date: "2022-12-15 17:00:00" },
55+
56+
ClaimExpense:
57+
0: { id: 1, request_id: 1, expense_type_id: 1, amount: 150.00, note: "Travel expenses for business trip to New York", is_deleted: false, date: "2022-12-01 12:00:00" },
58+
1: { id: 2, request_id: 1, expense_type_id: 2, amount: 200.00, note: "Marketing expenses for trade show", is_deleted: false, date: "2022-11-20 09:00:00" },
59+
2: { id: 3, request_id: 8, expense_type_id: 3, amount: 300.00, note: "Equipment purchase for IT department", is_deleted: false, date: "2022-10-15 14:00:00" }
60+
3: { id: 4, request_id: 2, expense_type_id: 3, amount: 300.00, note: "Equipment purchase for IT department", is_deleted: false, date: "2022-10-15 14:00:00" }
61+

0 commit comments

Comments
 (0)