TransformsTasks   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 17
c 2
b 0
f 0
dl 0
loc 35
ccs 19
cts 19
cp 1
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A toDoneDoneTask() 0 8 1
A fromDoneDoneTask() 0 14 1
1
<?php
2
3
namespace TestMonitor\DoneDone\Transforms;
4
5
use TestMonitor\DoneDone\Validator;
6
use TestMonitor\DoneDone\Resources\Task;
7
8
trait TransformsTasks
9
{
10
    /**
11
     * @param \TestMonitor\DoneDone\Resources\Task $task
12
     * @return array
13
     */
14 1
    protected function toDoneDoneTask(Task $task): array
15
    {
16 1
        return [
17 1
            'title' => $task->title,
18 1
            'description' => $task->description,
19 1
            'statusID' => $task->status,
20 1
            'priorityID' => $task->priority,
21 1
            'assigneeID' => $task->assignee ?? null,
22 1
        ];
23
    }
24
25
    /**
26
     * @param array $task
27
     * @return \TestMonitor\DoneDone\Resources\Task
28
     */
29 3
    protected function fromDoneDoneTask($task): Task
30
    {
31 3
        Validator::isArray($task);
32 3
        Validator::keysExists($task, ['id', 'refNumber', 'status', 'priority']);
33
34 3
        return new Task([
35 3
            'id' => $task['id'],
36 3
            'refNumber' => $task['refNumber'],
37 3
            'title' => $task['title'] ?? '',
38 3
            'description' => $task['description'] ?? '',
39
40 3
            'status' => ['id' => $task['status']['id'], 'name' => $task['status']['name']],
41 3
            'priority' => ['id' => $task['priority']['id'], 'name' => $task['priority']['name']],
42 3
            'assignee' => ['id' => $task['assignee']['id'] ?? null, 'name' => $task['assignee']['name'] ?? null],
43 3
        ]);
44
    }
45
}
46