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

SchedulerTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 54
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 7

Importance

Changes 2
Bugs 0 Features 1
Metric Value
wmc 3
c 2
b 0
f 1
lcom 1
cbo 7
dl 0
loc 54
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 8 1
A testSchedule() 0 12 1
A testRun() 0 17 1
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