ArchiveAdminTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 25
c 1
b 0
f 0
dl 0
loc 37
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetVersionedModels() 0 22 1
A setUp() 0 3 1
1
<?php
2
3
namespace SilverStripe\VersionedAdmin\Tests;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\VersionedAdmin\ArchiveAdmin;
7
use SilverStripe\VersionedAdmin\Tests\ArchiveAdminTest\UnversionedObject;
8
use SilverStripe\VersionedAdmin\Tests\ArchiveAdminTest\VersionedObject;
9
use SilverStripe\VersionedAdmin\Tests\ArchiveAdminTest\ViewProviderChildObject;
10
use SilverStripe\VersionedAdmin\Tests\ArchiveAdminTest\ViewProviderVersionedObject;
11
use SilverStripe\VersionedAdmin\Tests\ArchiveAdminTest\ChildVersionedObject;
12
13
class ArchiveAdminTest extends SapphireTest
14
{
15
    protected static $extra_dataobjects = [
16
        ChildVersionedObject::class,
17
        UnversionedObject::class,
18
        VersionedObject::class,
19
        ViewProviderChildObject::class,
20
        ViewProviderVersionedObject::class,
21
    ];
22
23
    protected function setUp(): void
24
    {
25
        parent::setUp();
26
    }
27
28
    public function testGetVersionedModels()
29
    {
30
        $archiveAdmin = ArchiveAdmin::create();
31
        $allVersionedObjects = $archiveAdmin->getVersionedModels();
32
33
        $this->assertContains(ChildVersionedObject::class, $allVersionedObjects);
34
        $this->assertContains(VersionedObject::class, $allVersionedObjects);
35
        $this->assertContains(ViewProviderChildObject::class, $allVersionedObjects);
36
        $this->assertContains(ViewProviderVersionedObject::class, $allVersionedObjects);
37
        $this->assertNotContains(UnversionedObject::class, $allVersionedObjects);
38
39
        $mainVersionedObjects = $archiveAdmin->getVersionedModels('main');
40
        $this->assertNotContains(ChildVersionedObject::class, $mainVersionedObjects);
41
        $this->assertNotContains(VersionedObject::class, $mainVersionedObjects);
42
        $this->assertNotContains(ViewProviderChildObject::class, $mainVersionedObjects);
43
        $this->assertContains(ViewProviderVersionedObject::class, $mainVersionedObjects);
44
45
        $otherVersionedObjects = $archiveAdmin->getVersionedModels('other');
46
        $this->assertContains(ChildVersionedObject::class, $otherVersionedObjects);
47
        $this->assertContains(VersionedObject::class, $otherVersionedObjects);
48
        $this->assertNotContains(ViewProviderChildObject::class, $otherVersionedObjects);
49
        $this->assertNotContains(ViewProviderVersionedObject::class, $otherVersionedObjects);
50
    }
51
}
52