Skip to content

Commit 63e97e9

Browse files
added scheduler functional tests
1 parent 2a89ae2 commit 63e97e9

File tree

3 files changed

+91
-29
lines changed

3 files changed

+91
-29
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
namespace Functional;
4+
5+
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
6+
use Task\Handler\RegistryInterface;
7+
8+
class HandlerRegistryTest extends KernelTestCase
9+
{
10+
/**
11+
* @var RegistryInterface
12+
*/
13+
private $registry;
14+
15+
protected function setUp()
16+
{
17+
parent::setUp();
18+
19+
$this->bootKernel();
20+
$this->registry = self::$kernel->getContainer()->get('task.handler_registry');
21+
}
22+
23+
public function testHas()
24+
{
25+
$this->assertTrue($this->registry->has('test'));
26+
$this->assertFalse($this->registry->has('test-1'));
27+
}
28+
29+
public function testRun()
30+
{
31+
$this->assertEquals('daolkrow', $this->registry->run('test', 'workload'));
32+
}
33+
}

tests/Functional/HandlerTest.php

Lines changed: 0 additions & 29 deletions
This file was deleted.

tests/Functional/SchedulerTest.php

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?php
2+
3+
namespace Functional;
4+
5+
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
6+
use Task\SchedulerInterface;
7+
use Task\Storage\StorageInterface;
8+
use Task\Task;
9+
10+
class Test extends KernelTestCase
11+
{
12+
/**
13+
* @var SchedulerInterface
14+
*/
15+
private $scheduler;
16+
17+
/**
18+
* @var StorageInterface
19+
*/
20+
private $storage;
21+
22+
protected function setUp()
23+
{
24+
parent::setUp();
25+
26+
$this->bootKernel();
27+
$this->scheduler = self::$kernel->getContainer()->get('task.scheduler');
28+
$this->storage = self::$kernel->getContainer()->get('task.storage');
29+
}
30+
31+
public function testSchedule()
32+
{
33+
$this->scheduler->schedule(new Task('test', 'workload'));
34+
35+
$scheduled = $this->storage->findScheduled();
36+
$this->assertCount(1, $scheduled);
37+
$this->assertEquals('test', $scheduled[0]->getTaskName());
38+
$this->assertEquals('workload', $scheduled[0]->getWorkload());
39+
}
40+
41+
public function testRun()
42+
{
43+
$this->scheduler->schedule(new Task('test', 'workload'));
44+
$this->scheduler->run();
45+
46+
$scheduled = $this->storage->findScheduled();
47+
$this->assertCount(0, $scheduled);
48+
49+
$all = $this->storage->findAll();
50+
$this->assertCount(1, $all);
51+
$this->assertEquals('test', $all[0]->getTaskName());
52+
$this->assertEquals('workload', $all[0]->getWorkload());
53+
$this->assertTrue($all[0]->isCompleted());
54+
$this->assertEquals('daolkrow', $all[0]->getResult());
55+
}
56+
57+
// TODO daily
58+
}

0 commit comments

Comments
 (0)