BackgroundTest::testCanFormatFeatureDescription()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 29

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 29
rs 9.456
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
/*
3
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14
 *
15
 * This software consists of voluntary contributions made by many individuals
16
 * and is licensed under the MIT license.
17
 */
18
19
namespace KawaiiGherkinTest\Formatter;
20
21
use Behat\Gherkin\Node\BackgroundNode;
22
use Behat\Gherkin\Node\StepNode;
23
use Behat\Gherkin\Node\TableNode;
24
use KawaiiGherkin\Formatter\Background;
25
use PHPUnit\Framework\TestCase;
26
use Prophecy\Argument;
27
28
/**
29
 * Tests for {@see \KawaiiGherkin\Formatter\Background}
30
 *
31
 * @author Jefersson Nathan <[email protected]>
32
 * @covers \KawaiiGherkin\Formatter\Background
33
 * @group  Coverage
34
 * @license MIT
35
 */
36
final class BackgroundTest extends TestCase
37
{
38
    /**
39
     * @var Background
40
     */
41
    private $formatter;
42
43
    /**
44
     * {@inheritDoc}
45
     */
46
    public function setUp()
47
    {
48
        $this->formatter = new Background();
49
    }
50
51
    public function testCanFormatFeatureDescription()
52
    {
53
        $expected = <<<EOS
54
    Background: Turning people kawaii
55
        Given there's Japan registered as a country
56
          And there's normal person on database:
57
            |  nick       |  active       |
58
            |  malukenho  |  user allowed |
59
          And "malukenho" is a kawaii person
60
61
EOS;
62
63
        $tableNode  = new TableNode([
64
            [' nick ', ' active '],
65
            [' malukenho ', ' user allowed'],
66
        ]);
67
        $background = new BackgroundNode(
68
            '   Turning people kawaii    ',
69
            [
70
                new StepNode('Given  ', '       there\'s Japan registered as a country   ', [], 1, 'Given'),
71
                new StepNode('  And', '  there\'s normal person on database: ', [$tableNode], 2, 'And'),
72
                new StepNode(' And ', '  "malukenho" is a kawaii person ', [], 5, 'And'),
73
            ],
74
            'Background',
75
            1
76
        );
77
78
        self::assertSame($expected, $this->formatter->format($background));
79
    }
80
}
81