TransformsTasks::fromDoneDoneTask()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 11
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 10
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 14
ccs 11
cts 11
cp 1
crap 1
rs 9.9332
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