DMSVersioningTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 88
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 6

Importance

Changes 0
Metric Value
wmc 3
lcom 2
cbo 6
dl 0
loc 88
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 10 1
A tearDown() 0 9 1
A testDMSVersionStorage() 0 32 1
1
<?php
2
class DMSVersioningTest extends SapphireTest
3
{
4
    protected $usesDatabase = true;
5
6
    /**
7
     * Stub PDF files for testing
8
     * @var string
9
     */
10
    public static $testFile = 'dms/tests/DMS-test-lorum-file.pdf';
11
    public static $testFile2 = 'dms/tests/DMS-test-document-2.pdf';
12
13
    /**
14
     * The test folder to write assets into
15
     *
16
     * @var string
17
     */
18
    protected $testDmsPath = 'assets/_dms-assets-test-versions';
19
20
    /**
21
     * Store values to reset back to after this test runs
22
     */
23
    public static $dmsEnableVersionsOld;
24
25
    /**
26
     * Use a test DMS folder, so we don't overwrite the live one, and clear out the test folder (in case a broken
27
     * test doesn't delete it)
28
     *
29
     * {@inheritDoc}
30
     */
31
    public function setUp()
32
    {
33
        parent::setUp();
34
35
        self::$dmsEnableVersionsOld = DMSDocument_versions::$enable_versions;
36
        DMSDocument_versions::$enable_versions = true;
37
38
        Config::inst()->update('DMS', 'folder_name', $this->testDmsPath);
39
        DMSFilesystemTestHelper::delete($this->testDmsPath);
40
    }
41
42
    /**
43
     * Delete the test folder after the tests run
44
     *
45
     * {@inheritDoc}
46
     */
47
    public function tearDown()
48
    {
49
        parent::tearDown();
50
51
        DMSFilesystemTestHelper::delete($this->testDmsPath);
52
53
        // Set the old DMS folder back again
54
        DMSDocument_versions::$enable_versions = self::$dmsEnableVersionsOld;
55
    }
56
57
    public function testDMSVersionStorage()
58
    {
59
        $this->markTestSkipped('Needs re-implementation, this test is not consistent.');
0 ignored issues
show
Bug introduced by
The method markTestSkipped() does not seem to exist on object<DMSVersioningTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
60
61
        $dms = DMS::inst();
62
63
        $document = $dms->storeDocument(self::$testFile);
64
65
        $this->assertNotNull($document, "Document object created");
0 ignored issues
show
Bug introduced by
The method assertNotNull() does not seem to exist on object<DMSVersioningTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
66
        $this->assertTrue(
0 ignored issues
show
Bug introduced by
The method assertTrue() does not seem to exist on object<DMSVersioningTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
67
            file_exists(
68
                DMS::inst()->getStoragePath() . DIRECTORY_SEPARATOR . $document->Folder
69
                . DIRECTORY_SEPARATOR . $document->Filename
70
            ),
71
            "Document file copied into DMS folder"
72
        );
73
74
        $document->replaceDocument(self::$testFile2);
75
        $document->replaceDocument(self::$testFile);
76
        $document->replaceDocument(self::$testFile2);
77
        $document->replaceDocument(self::$testFile);
78
79
        $versionsList = $document->getVersions();
80
81
        $this->assertEquals(4, $versionsList->Count(), "4 Versions created");
0 ignored issues
show
Bug introduced by
The method assertEquals() does not seem to exist on object<DMSVersioningTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
82
        $versionsArray = $versionsList->toArray();
83
84
        $this->assertEquals($versionsArray[0]->VersionCounter, 1, "Correct version count");
0 ignored issues
show
Bug introduced by
The method assertEquals() does not seem to exist on object<DMSVersioningTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
85
        $this->assertEquals($versionsArray[1]->VersionCounter, 2, "Correct version count");
0 ignored issues
show
Bug introduced by
The method assertEquals() does not seem to exist on object<DMSVersioningTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
86
        $this->assertEquals($versionsArray[2]->VersionCounter, 3, "Correct version count");
0 ignored issues
show
Bug introduced by
The method assertEquals() does not seem to exist on object<DMSVersioningTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
87
        $this->assertEquals($versionsArray[3]->VersionCounter, 4, "Correct version count");
0 ignored issues
show
Bug introduced by
The method assertEquals() does not seem to exist on object<DMSVersioningTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
88
    }
89
}
90