Completed
Push — master ( 06c1ce...67d37c )
by Jeroen
06:20
created

Tests/unit/Entity/PageParts/ChoicePagePartTest.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Kunstmaan\FormBundle\Tests\Entity\PageParts;
4
5
use ArrayObject;
6
use Kunstmaan\FormBundle\Entity\PageParts\ChoicePagePart;
7
use Kunstmaan\FormBundle\Form\ChoicePagePartAdminType;
8
use PHPUnit\Framework\TestCase;
9
use Symfony\Component\Form\FormBuilderInterface;
10
11
/**
12
 * Tests for ChoicePagePart
13
 */
14
class ChoicePagePartTest extends TestCase
15
{
16
    /**
17
     * @var ChoicePagePart
18
     */
19
    protected $object;
20
21
    /**
22
     * Sets up the fixture, for example, opens a network connection.
23
     * This method is called before a test is executed.
24
     */
25
    protected function setUp()
26
    {
27
        $this->object = new ChoicePagePart();
28
    }
29
30
    public function testGetDefaultView()
31
    {
32
        $stringValue = $this->object->getDefaultView();
33
        $this->assertNotNull($stringValue);
34
        $this->assertInternalType('string', $stringValue);
35
    }
36
37 View Code Duplication
    public function testAdaptForm()
38
    {
39
        $object = $this->object;
40
        $object->setRequired(true);
41
42
        $formBuilder = $this->getMockBuilder('Symfony\Component\Form\FormBuilder')
43
            ->disableOriginalConstructor()
44
            ->getMock();
45
46
        $formBuilder->expects($this->any())
47
            ->method('getData')
48
            ->willReturn([]);
49
50
        $fields = new ArrayObject();
51
52
        $this->assertEquals(count($fields), 0);
53
        $object->setErrorMessageRequired('invalid!');
54
        /* @var FormBuilderInterface $formBuilder */
55
        $object->adaptForm($formBuilder, $fields, 0);
56
        $this->assertTrue(count($fields) > 0);
57
    }
58
59
    public function testGetDefaultAdminType()
60
    {
61
        $this->assertEquals(ChoicePagePartAdminType::class, $this->object->getDefaultAdminType());
62
    }
63
64 View Code Duplication
    public function testSetGetExpanded()
65
    {
66
        $object = $this->object;
67
        $this->assertFalse($object->getExpanded());
68
        $object->setExpanded(true);
69
        $this->assertTrue($object->getExpanded());
70
    }
71
72 View Code Duplication
    public function testSetGetMultiple()
73
    {
74
        $object = $this->object;
75
        $this->assertFalse($object->getMultiple());
76
        $object->setMultiple(true);
77
        $this->assertTrue($object->getMultiple());
78
    }
79
80 View Code Duplication
    public function testSetGetChoices()
81
    {
82
        $object = $this->object;
83
        $choices = array('test1' => 'test1', 'test2' => 'test2');
84
        $object->setChoices($choices);
0 ignored issues
show
$choices is of type array<string,string,{"te...ing","test2":"string"}>, but the function expects a string.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
85
        $this->assertEquals($choices, $object->getChoices());
86
    }
87
88
    public function testGettersAndSetters()
89
    {
90
        $object = $this->object;
91
        $value = 'test';
92
        $object->setEmptyValue($value);
93
        $object->setRequired(true);
94
        $object->setErrorMessageRequired('fix your code!');
95
96
        $this->assertEquals($value, $object->getEmptyValue());
97
        $this->assertTrue($object->getRequired());
98
        $this->assertEquals('fix your code!', $object->getErrorMessageRequired());
99
    }
100
}
101