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