CallbackTaskTest::taskReturnsValidHandlerClass()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace AsyncPHP\Doorman\Tests\Task;
4
5
use AsyncPHP\Doorman\Task\CallbackTask;
6
use AsyncPHP\Doorman\Tests\Test;
7
8
/**
9
 * @covers AsyncPHP\Doorman\Task\CallbackTask
10
 */
11
class CallbackTaskTest extends Test
12
{
13
    /**
14
     * @var CallbackTask
15
     */
16
    protected $task;
17
18
    /**
19
     * @var callable
20
     */
21
    protected $callback;
22
23
    /**
24
     * @inheritdoc
25
     */
26
    public function setUp()
27
    {
28
        parent::setUp();
29
30
        $this->task = new CallbackTask(function () {
31
            return "hello world";
32
        });
33
    }
34
35
    /**
36
     * @test
37
     */
38
    public function taskCanBeSerializedAndUnserialized()
39
    {
40
        $serialized = serialize($this->task);
41
42
        $task = unserialize($serialized);
43
        $data = $task->getData();
44
45
        $closure = $data["closure"];
46
47
        $this->assertEquals("hello world", $closure());
48
    }
49
50
    /**
51
     * @test
52
     */
53
    public function taskReturnsValidHandlerClass()
54
    {
55
        $class = $this->task->getHandler();
56
57
        $this->assertInstanceOf("AsyncPHP\\Doorman\\Handler", new $class());
58
    }
59
60
    /**
61
     * @test
62
     */
63
    public function taskAdheresToRulesAndAllowsSiblings()
64
    {
65
        $this->assertFalse($this->task->ignoresRules());
66
        $this->assertFalse($this->task->stopsSiblings());
67
    }
68
}
69