PatternResolverTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 13
dl 0
loc 22
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A testPatternResolverContextObject() 0 19 1
1
<?php
2
declare(strict_types=1);
3
4
namespace LSB\NumberingBundle\Tests;
5
6
use LSB\NumberingBundle\Entity\NumberingCounterData;
7
use LSB\NumberingBundle\Service\NumberingPatternResolver;
8
use LSB\NumberingBundle\Model\Tag;
9
use PHPUnit\Framework\TestCase;
10
11
/**
12
 * Class PatternResolverTest
13
 * @package LSB\NumberingBundle\Tests
14
 */
15
class PatternResolverTest extends TestCase
16
{
17
18
    public function testPatternResolverContextObject()
19
    {
20
        $testPattern = 'IN/{' . Tag::YEAR . '}/{' . Tag::NUMBER . '}/{' . Tag::CONTEXT_OBJECT . '}';
21
        $randNumber = rand(1, 10);
22
        $testContextValue = 'TestContextValue';
23
24
        $numberingCounterDataMock = $this->createMock(NumberingCounterData::class);
25
26
        $numberingCounterDataMock->method('getCurrent')->willReturn($randNumber);
27
        $numberingCounterDataMock->method('getContextObjectValue')->willReturn($testContextValue);
28
29
        $numberingCounterDataMock->expects($this->once())->method('getCurrent');
30
        $numberingCounterDataMock->expects($this->once())->method('getContextObjectValue');
31
32
        $patternResolver = new NumberingPatternResolver();
33
        $resolvedNumber = $patternResolver->resolve($testPattern, $numberingCounterDataMock);
34
35
        $this->assertStringContainsString((string)$randNumber, $resolvedNumber);
36
        $this->assertStringContainsString((string)$testContextValue, $resolvedNumber);
37
    }
38
39
}
40