ResultTest::testGetContext()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 2
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 4
rs 10
1
<?php
2
3
namespace SilverStripe\MFA\Tests\State;
4
5
use PHPUnit\Framework\TestCase;
6
use SilverStripe\MFA\State\Result;
7
8
class ResultTest extends TestCase
9
{
10
    public function testSetContext()
11
    {
12
        $result = new Result(false, 'Oops!', ['tired' => true]);
13
        $newResult = $result->setContext(['tired' => false]);
14
        $this->assertNotSame($result->getContext(), $newResult->getContext(), 'Result should be immutable');
15
    }
16
17
    public function testGetContext()
18
    {
19
        $result = new Result(true, 'Test', ['foo' => 'bar']);
20
        $this->assertSame(['foo' => 'bar'], $result->getContext());
21
    }
22
23
    public function testSetMessage()
24
    {
25
        $result = new Result();
26
        $newResult = $result->setMessage('foo');
27
        $this->assertNotSame($result->getMessage(), $newResult->getMessage(), 'Result should be immutable');
28
    }
29
30
    public function testGetMessage()
31
    {
32
        $result = new Result(true, 'Hello');
33
        $this->assertSame('Hello', $result->getMessage());
34
    }
35
36
    public function testIsSuccessful()
37
    {
38
        $result = new Result(false);
39
        $this->assertFalse($result->isSuccessful());
40
    }
41
42
    public function testSetSuccess()
43
    {
44
        $result = new Result(false);
45
        $newResult = $result->setSuccessful(true);
46
        $this->assertNotSame($result->isSuccessful(), $newResult->isSuccessful(), 'Result should be immutable');
47
    }
48
}
49