MethodVerifyHandlerTest::testVerify()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 17
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
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\Model\RegisteredMethod;
9
use SilverStripe\MFA\Store\StoreInterface;
10
use SilverStripe\MFA\Tests\Stub\BasicMath\MethodVerifyHandler;
11
12
class MethodVerifyHandlerTest extends SapphireTest
13
{
14
    public function testStart()
15
    {
16
        $handler = new MethodVerifyHandler();
17
18
        /** @var StoreInterface|PHPUnit_Framework_MockObject_MockObject $store */
19
        $store = $this->createMock(StoreInterface::class);
20
        $store->expects($this->once())->method('setState');
21
22
        $mockRegisteredMethod = RegisteredMethod::create();
23
24
        $this->assertArrayHasKey('numbers', $handler->start($store, $mockRegisteredMethod));
25
    }
26
27
    public function testVerify()
28
    {
29
        $handler = new MethodVerifyHandler();
30
31
        /** @var HTTPRequest|PHPUnit_Framework_MockObject_MockObject $request */
32
        $request = $this->createMock(HTTPRequest::class);
33
        $request->expects($this->once())->method('getBody')->willReturn('{"answer":"10"}');
34
35
        /** @var StoreInterface|PHPUnit_Framework_MockObject_MockObject $store */
36
        $store = $this->createMock(StoreInterface::class);
37
        $store->expects($this->once())->method('getState')->willReturn([
38
            'answer' => 10,
39
        ]);
40
41
        $mockRegisteredMethod = RegisteredMethod::create();
42
43
        $this->assertTrue($handler->verify($request, $store, $mockRegisteredMethod)->isSuccessful());
44
    }
45
}
46