Passed
Push — master ( ddbf8b...086098 )
by Robbie
11:17
created

GetParameterTest::testName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace SilverStripe\Control\Tests\Middleware\ConfirmationMiddleware;
4
5
use SilverStripe\Control\Middleware\ConfirmationMiddleware\GetParameter;
6
use SilverStripe\Control\Tests\HttpRequestMockBuilder;
7
use SilverStripe\Dev\SapphireTest;
8
use SilverStripe\Security\Confirmation\Item;
9
10
class GetParameterTest extends SapphireTest
11
{
12
    use HttpRequestMockBuilder;
13
14
    public function testName()
15
    {
16
        $rule = new GetParameter('name_01');
17
        $this->assertEquals('name_01', $rule->getName());
18
19
        $rule->setName('name_02');
20
        $this->assertEquals('name_02', $rule->getName());
21
    }
22
23
    public function testBypass()
24
    {
25
        $request = $this->buildRequestMock('test/path', ['parameterKey' => 'parameterValue']);
26
27
        $rule = new GetParameter('parameterKey_01');
28
        $this->assertFalse($rule->checkRequestForBypass($request));
29
30
        $rule->setName('parameterKey');
31
        $this->assertTrue($rule->checkRequestForBypass($request));
32
    }
33
34
    public function testConfirmationItem()
35
    {
36
        $request = $this->buildRequestMock('test/path', ['parameterKey' => 'parameterValue']);
37
38
        $rule = new GetParameter('parameterKey_01');
39
        $this->assertNull($rule->getRequestConfirmationItem($request));
40
41
        $rule->setName('parameterKey');
42
        $item = $rule->getRequestConfirmationItem($request);
43
        $this->assertNotNull($item);
44
        $this->assertInstanceOf(Item::class, $item);
45
    }
46
}
47