Completed
Push — master ( 008bc0...0640ce )
by
unknown
46:22 queued 05:29
created

JobResolverTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 1
dl 0
loc 39
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testResolve() 0 16 1
A mockResolver() 0 9 1
1
<?php
2
3
namespace SfCod\QueueBundle\Tests\Service;
4
5
use PHPUnit\Framework\TestCase;
6
use SfCod\QueueBundle\Base\JobInterface;
7
use SfCod\QueueBundle\Service\JobResolver;
8
use Symfony\Component\DependencyInjection\ContainerInterface;
9
10
/**
11
 * Class JobResolverTest
12
 * @author Virchenko Maksim <[email protected]>
13
 * @package SfCod\QueueBundle\Tests\Service
14
 */
15
class JobResolverTest extends TestCase
16
{
17
    /**
18
     * Test resolve job by name
19
     */
20
    public function testResolve()
21
    {
22
        $jobName = uniqid('job_');
23
        $jobClass = $this->createMock(JobInterface::class);
24
25
        $container = $this->createMock(ContainerInterface::class);
26
        $container
27
            ->expects($this->once())
28
            ->method('get')
29
            ->with($this->equalTo($jobName))
30
            ->will($this->returnValue($jobClass));
31
32
        $resolver = $this->mockResolver($container);
33
34
        $this->assertEquals($jobClass, $resolver->resolve($jobName));
35
    }
36
37
    /**
38
     * Mock resolver
39
     *
40
     * @param ContainerInterface $container
41
     *
42
     * @return JobResolver
43
     */
44
    private function mockResolver(ContainerInterface $container): JobResolver
45
    {
46
        $resolver = $this->getMockBuilder(JobResolver::class)
47
            ->setConstructorArgs([$container])
48
            ->setMethods(null)
49
            ->getMock();
50
51
        return $resolver;
52
    }
53
}