Completed
Push — master ( 33e149...329666 )
by Wachter
09:05
created

SchedulerTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 8
rs 9.4286
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
namespace Functional;
4
5
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
6
use Symfony\Component\HttpFoundation\Request;
7
use Symfony\Component\HttpFoundation\Response;
8
use Task\SchedulerInterface;
9
use Task\Storage\StorageInterface;
10
use Task\Task;
11
12
class SchedulerTest extends KernelTestCase
13
{
14
    /**
15
     * @var SchedulerInterface
16
     */
17
    private $scheduler;
18
19
    /**
20
     * @var StorageInterface
21
     */
22
    private $storage;
23
24
    protected function setUp()
25
    {
26
        parent::setUp();
27
28
        $this->bootKernel();
29
        $this->scheduler = self::$kernel->getContainer()->get('task.scheduler');
30
        $this->storage = self::$kernel->getContainer()->get('task.storage');
31
    }
32
33
    public function testSchedule()
34
    {
35
        $this->storage->clear();
36
37
        $this->scheduler->schedule(new Task('test', 'workload'));
38
39
        $scheduled = $this->storage->findScheduled();
40
        $this->assertCount(1, $scheduled);
41
        $this->assertEquals('test', $scheduled[0]->getTaskName());
42
        $this->assertEquals('workload', $scheduled[0]->getWorkload());
43
        $this->assertFalse($scheduled[0]->isCompleted());
44
    }
45
46
    public function testRun()
47
    {
48
        $this->storage->clear();
49
50
        $this->scheduler->schedule(new Task('test', 'workload'));
51
        $this->scheduler->run();
52
53
        $scheduled = $this->storage->findScheduled();
54
        $this->assertCount(0, $scheduled);
55
56
        $all = $this->storage->findAll();
57
        $this->assertCount(1, $all);
58
        $this->assertEquals('test', $all[0]->getTaskName());
59
        $this->assertEquals('workload', $all[0]->getWorkload());
60
        $this->assertTrue($all[0]->isCompleted());
61
        $this->assertEquals('daolkrow', $all[0]->getResult());
62
    }
63
64
    // TODO daily
65
}
66