Passed
Push — 4.2 ( 7f69cc...ca56e8 )
by
unknown
10:42
created

HttpMethodBypassTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 22
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testBypass() 0 20 1
1
<?php
2
3
namespace SilverStripe\Control\Tests\Middleware\ConfirmationMiddleware;
4
5
use SilverStripe\Control\HTTPRequest;
6
use SilverStripe\Control\Middleware\ConfirmationMiddleware\HttpMethodBypass;
7
use SilverStripe\Dev\SapphireTest;
8
9
class HttpMethodBypassTest extends SapphireTest
10
{
11
    public function testBypass()
12
    {
13
        $getRequest = $this->createMock(HTTPRequest::class);
14
        $getRequest->method('httpMethod')->willReturn('GET');
15
16
        $postRequest = $this->createMock(HTTPRequest::class);
17
        $postRequest->method('httpMethod')->willReturn('POST');
18
19
        $putRequest = $this->createMock(HTTPRequest::class);
20
        $putRequest->method('httpMethod')->willReturn('PUT');
21
22
        $delRequest = $this->createMock(HTTPRequest::class);
23
        $delRequest->method('httpMethod')->willReturn('DELETE');
24
25
        $bypass = new HttpMethodBypass('GET', 'POST');
26
27
        $this->assertTrue($bypass->checkRequestForBypass($getRequest));
28
        $this->assertTrue($bypass->checkRequestForBypass($postRequest));
29
        $this->assertFalse($bypass->checkRequestForBypass($putRequest));
30
        $this->assertFalse($bypass->checkRequestForBypass($delRequest));
31
    }
32
}
33