Passed
Push — master ( 54d781...72cc10 )
by Robbie
03:20
created

HistoryControllerFactoryTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 21
dl 0
loc 36
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testCreateController() 0 24 1
1
<?php
2
namespace SilverStripe\VersionedAdmin\Tests\Controllers;
3
4
use SilverStripe\VersionedAdmin\Tests\Controller\HistoryControllerFactory\HistoryControllerFactoryExtension;
5
use SilverStripe\CMS\Controllers\CMSPageHistoryController;
6
use SilverStripe\CMS\Model\SiteTree;
7
use SilverStripe\Control\HTTPRequest;
8
use SilverStripe\Core\Injector\Injector;
9
use SilverStripe\Dev\SapphireTest;
10
use SilverStripe\VersionedAdmin\Controllers\CMSPageHistoryViewerController;
11
use SilverStripe\VersionedAdmin\Controllers\HistoryControllerFactory;
12
13
class HistoryControllerFactoryTest extends SapphireTest
14
{
15
    protected static $fixture_file = 'HistoryControllerFactoryTest.yml';
16
17
    protected static $illegal_extensions = [
18
        HistoryControllerFactory::class => '*'
19
    ];
20
21
    protected static $required_extensions = [
22
        HistoryControllerFactory::class => [HistoryControllerFactoryExtension::class]
23
    ];
24
25
    public function testCreateController()
26
    {
27
        $factory = new HistoryControllerFactory;
28
29
        $controller = $factory->create(null);
30
        $this->assertInstanceOf(CMSPageHistoryController::class, $controller);
31
32
        $id = $this->idFromFixture(SiteTree::class, 'page_one');
33
34
        $mockRequest = new HTTPRequest('GET', '');
35
        $mockRequest->setRouteParams(['ID' => $id]);
36
        Injector::inst()->registerService($mockRequest);
37
38
        $controller = $factory->create(null);
39
        $this->assertInstanceOf(CMSPageHistoryController::class, $controller);
40
41
        $id = $this->idFromFixture(SiteTree::class, 'page_two');
42
43
        $mockRequest = new HTTPRequest('GET', '');
44
        $mockRequest->setRouteParams(['ID' => $id]);
45
        Injector::inst()->registerService($mockRequest);
46
47
        $controller = $factory->create(null);
48
        $this->assertInstanceOf(CMSPageHistoryViewerController::class, $controller);
49
    }
50
}
51