Completed
Push — master ( 745336...aadd5d )
by Matthew
06:17
created

RunManagerTest::testPruneArchivedRuns()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 35
Code Lines 28

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 35
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 28
nc 1
nop 0
1
<?php
2
3
namespace Dtc\QueueBundle\ODM;
4
5
use Dtc\QueueBundle\Tests\ODM\JobManagerTest;
6
use PHPUnit\Framework\TestCase;
7
8
class RunManagerTest extends TestCase
9
{
10
    public function testPruneArchivedRuns()
11
    {
12
        JobManagerTest::setUpBeforeClass();
13
        $jobManager = JobManagerTest::$jobManager;
14
        $runClass = \Dtc\QueueBundle\Document\Run::class;
15
        $runArchiveClass = \Dtc\QueueBundle\Document\RunArchive::class;
16
        $runManager = new \Dtc\QueueBundle\ODM\RunManager($runClass);
17
        $runManager->setRunArchiveClass($runArchiveClass);
18
        $runManager->setObjectManager($jobManager->getObjectManager());
19
        $objectManager = $runManager->getObjectManager();
20
        $runRepository = $objectManager->getRepository($runClass);
21
        self::assertEmpty($runRepository->findAll());
22
        $runArchiveRepository = $objectManager->getRepository($runArchiveClass);
23
        self::assertEmpty($runArchiveRepository->findAll());
24
25
        $run = new $runClass();
26
        $time = time() - 86400;
27
28
        $run->setStartedAt(new \DateTime("@$time"));
29
        $objectManager->persist($run);
30
        $objectManager->flush($run);
31
        self::assertCount(1, $runRepository->findAll());
32
33
        $run->setEndedAt(new \DateTime("@$time"));
34
        $objectManager->remove($run);
35
        $objectManager->flush();
36
37
        self::assertEmpty($runRepository->findAll());
38
        self::assertCount(1, $runArchiveRepository->findAll());
39
40
        $time1 = $time + 1;
41
        $runManager->pruneArchivedRuns(new \DateTime("@$time1"));
42
        self::assertEmpty($runArchiveRepository->findAll());
43
        self::assertEmpty($runRepository->findAll());
44
    }
45
}
46