Passed
Pull Request — master (#3)
by Robbie
02:02
created

MethodAuthenticationHandlerTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 28
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testStart() 0 9 1
A testVerify() 0 15 1
1
<?php
2
3
namespace SilverStripe\MFA\Tests\BasicMath;
4
5
use PHPUnit_Framework_MockObject_MockObject;
6
use SilverStripe\Control\HTTPRequest;
7
use SilverStripe\Dev\SapphireTest;
8
use SilverStripe\MFA\BasicMath\MethodAuthenticationHandler;
9
use SilverStripe\MFA\Store\StoreInterface;
10
11
class MethodAuthenticationHandlerTest extends SapphireTest
12
{
13
    public function testStart()
14
    {
15
        $handler = new MethodAuthenticationHandler();
16
17
        /** @var StoreInterface|PHPUnit_Framework_MockObject_MockObject $store */
18
        $store = $this->createMock(StoreInterface::class);
19
        $store->expects($this->once())->method('setState');
20
21
        $this->assertArrayHasKey('numbers', $handler->start($store));
22
    }
23
24
    public function testVerify()
25
    {
26
        $handler = new MethodAuthenticationHandler();
27
28
        /** @var HTTPRequest|PHPUnit_Framework_MockObject_MockObject $request */
29
        $request = $this->createMock(HTTPRequest::class);
30
        $request->expects($this->once())->method('param')->with('answer')->willReturn(10);
31
32
        /** @var StoreInterface|PHPUnit_Framework_MockObject_MockObject $store */
33
        $store = $this->createMock(StoreInterface::class);
34
        $store->expects($this->once())->method('getState')->willReturn([
35
            'answer' => 10,
36
        ]);
37
38
        $this->assertTrue($handler->verify($request, $store));
39
    }
40
}
41