oms-RiskManagement/tests/Models/RiskMapperTest.php

105 lines
3.4 KiB
PHP
Executable File

<?php
/**
* Orange Management
*
* PHP Version 7.4
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://orange-management.org
*/
declare(strict_types=1);
namespace Modules\RiskManagement\tests\Models;
use Modules\Admin\Models\NullAccount;
use Modules\Media\Models\Media;
use Modules\RiskManagement\Models\Category;
use Modules\RiskManagement\Models\Cause;
use Modules\RiskManagement\Models\Process;
use Modules\RiskManagement\Models\Project;
use Modules\RiskManagement\Models\Risk;
use Modules\RiskManagement\Models\RiskMapper;
use Modules\RiskManagement\Models\RiskObject;
use Modules\RiskManagement\Models\Solution;
/**
* @internal
*/
class RiskMapperTest extends \PHPUnit\Framework\TestCase
{
public function testCRUD() : void
{
$obj = new Risk();
$obj->setName('Risk Test');
$obj->setDescriptionRaw('Description');
$obj->setUnit(1);
$obj->setDepartment(2);
$categoryObj = new Category();
$obj->setCategory($categoryObj);
$processObj = new Process();
$obj->setProcess($processObj);
$projectObj = new Project();
$projectObj->setProject(1);
$obj->setProject($projectObj);
$obj->setResponsible(1);
$obj->setDeputy(1);
$causeObj = new Cause();
$causeObj->setTitle('Risk Test Cause');
$obj->addCause($causeObj);
$solutionObj = new Solution();
$solutionObj->setTitle('Risk Test Solution');
$obj->addSolution($solutionObj);
$riskObj = new RiskObject();
$riskObj->setTitle('Risk Test Object');
$obj->addRiskObject($riskObj);
$obj->addHistory(2);
$media = new Media();
$media->setCreatedBy(new NullAccount(1));
$media->setDescription('desc');
$media->setPath('some/path');
$media->setSize(11);
$media->setExtension('png');
$media->setName('Image');
$obj->addMedia($media);
RiskMapper::create($obj);
$objR = RiskMapper::get($obj->getId());
self::assertEquals($obj->getName(), $objR->getName());
self::assertEquals($obj->getDescriptionRaw(), $objR->getDescriptionRaw());
self::assertEquals($obj->getUnit(), $objR->getUnit()->getId());
self::assertEquals($obj->getDepartment(), $objR->getDepartment()->getId());
self::assertEquals($obj->getCategory()->getId(), $objR->getCategory()->getId());
self::assertEquals($obj->getProcess()->getId(), $objR->getProcess()->getId());
self::assertEquals($obj->getResponsible(), $objR->getResponsible());
self::assertEquals($obj->getDeputy(), $objR->getDeputy());
self::assertEquals($obj->getProject()->getProject(), $objR->getProject()->getProject()->getId());
$causes = $objR->getCauses();
self::assertEquals($obj->getCauses()[0]->getTitle(), \end($causes)->getTitle());
$solutions = $objR->getSolutions();
self::assertEquals($obj->getSolutions()[0]->getTitle(), \end($solutions)->getTitle());
$riskObjects = $objR->getRiskObjects();
self::assertEquals($obj->getRiskObjects()[0]->getTitle(), \end($riskObjects)->getTitle());
//self::assertEquals($obj->getHistory()[0], $objR->getHistory()[0]);
$media = $objR->getMedia();
self::assertEquals($obj->getMedia()[0]->getPath(), \end($media)->getPath());
}
}