HaveIBeenPwnedPageTest   A
last analyzed

Complexity

Total Complexity 3

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 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetControllerName() 0 6 1
A testCanCreate() 0 18 2
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: simon
5
 * Date: 14-Jul-18
6
 * Time: 11:38
7
 */
8
9
namespace Firesphere\HaveIBeenPwned\Tests;
10
11
use Firesphere\HaveIBeenPwned\Controllers\HaveIBeenPwnedPageController;
12
use Firesphere\HaveIBeenPwned\Models\HaveIBeenPwnedPage;
13
use SilverStripe\Core\Injector\Injector;
14
use SilverStripe\Dev\SapphireTest;
15
use SilverStripe\Security\DefaultAdminService;
16
use SilverStripe\Security\Security;
17
18
class HaveIBeenPwnedPageTest extends SapphireTest
19
{
20
    public function testGetControllerName()
21
    {
22
        /** @var HaveIBeenPwnedPage $page */
23
        $page = HaveIBeenPwnedPage::create();
24
25
        $this->assertEquals(HaveIBeenPwnedPageController::class, $page->getControllerName());
26
    }
27
28
    public function testCanCreate()
29
    {
30
        $member = Injector::inst()->get(DefaultAdminService::class)->findOrCreateDefaultAdmin();
31
        Security::setCurrentUser($member);
32
33
        if (HaveIBeenPwnedPage::get()->count()) {
34
            HaveIBeenPwnedPage::get()->removeAll();
35
        }
36
37
        $page = HaveIBeenPwnedPage::create();
38
39
        $this->assertTrue($page->canCreate($member));
40
41
        $page->write();
42
43
        $this->assertFalse($page->canCreate());
44
45
        $page->delete();
46
    }
47
}
48