Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
UpdatePurchaseOrderItemDTO
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 3
12
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 toArray
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
 fromRequest
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Domain\PurchaseOrder\DTOs;
4
5use Domain\Integration\DTOs\IntegrationPurchaseOrderItemDTO;
6use Domain\Shared\Interfaces\DataTransferObjectInterface;
7use Illuminate\Foundation\Http\FormRequest;
8
9readonly final class UpdatePurchaseOrderItemDTO implements DataTransferObjectInterface
10{
11    public float $amount;
12    public float $balance;
13    public IntegrationPurchaseOrderItemDTO $integration;
14
15    public function __construct(array $args)
16    {
17        $this->amount = $args['amount'];
18        $this->balance = $args['balance'];
19        $this->integration = $args['integration'];
20    }
21
22    public function toArray(): array
23    {
24        return [
25            'amount' => $this->amount,
26            'balance' => $this->balance,
27            'integration' => $this->integration,
28        ];
29    }
30
31    public static function fromRequest(FormRequest $request): UpdatePurchaseOrderItemDTO
32    {
33        return new self([
34            'amount' => $request->validated('amount'),
35            'balance' => $request->validated('balance'),
36        ]);
37    }
38}