Completed
Push — master ( ea9d41...184c59 )
by Sergii
08:21
created

TaskGeneratorTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 7

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 7
dl 0
loc 48
c 0
b 0
f 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
B testSuccessHandle() 0 35 1
A testNotSetPathTpl() 0 5 1
1
<?php
2
namespace Tests\AppBundle\Sync;
3
4
use AppBundle\Sync\Entity\File;
5
use AppBundle\Sync\Entity\FileCollection;
6
use AppBundle\Sync\TaskGenerator;
7
use Nelmio\Alice\Fixtures\Loader;
8
9
/**
10
 * Task Generator tests
11
 *
12
 * @author Sergey Sadovoi <[email protected]>
13
 */
14
class TaskGeneratorTest extends \PHPUnit_Framework_TestCase
15
{
16
    public function testSuccessHandle()
17
    {
18
        // Sample files
19
        $loader = new Loader();
20
        $files = $loader->load(__DIR__ . '/../Fixtures/files.yml');
21
22
        // Collecting master
23
        $masterCollection = new FileCollection();
24
        $masterCollection->addFile($files['file1']);
25
        $masterCollection->addFile($files['file2']);
26
        $masterCollection->addFile($files['file3']);
27
28
        // Collecting slave
29
        $slaveCollection  = new FileCollection();
30
        $slaveCollection->addFile($files['file1']);
31
        $slaveCollection->addFile($files['file4']);
32
33
        /**
34
         * @var File $file3
35
         */
36
        $file3 = clone $files['file3'];
37
        $file3->setSize(10);
38
        $slaveCollection->addFile($file3);
39
40
        // Generate tasks
41
        $taskGenerator = new TaskGenerator();
42
        $taskGenerator->setSlavePathTpl('/path/to/__program__/__uid__');
43
        $tasks = $taskGenerator->handle($masterCollection, $slaveCollection);
44
45
        // Tasks check
46
        $this->assertCount(3, $tasks);
47
        $this->assertEquals('add', $tasks->get(0)->getName());
48
        $this->assertEquals('update', $tasks->get(1)->getName());
49
        $this->assertEquals('delete', $tasks->get(2)->getName());
50
    }
51
52
    /**
53
     * @expectedException \AppBundle\Exception\TaskException
54
     * @expectedExceptionCode \AppBundle\Exception\TaskException::SLAVE_PATH_NOT_SET
55
     */
56
    public function testNotSetPathTpl()
57
    {
58
        $taskGenerator = new TaskGenerator();
59
        $taskGenerator->getSlavePathTpl();
60
    }
61
}
62