add tests

This commit is contained in:
Dennis Eichhorn 2020-03-14 14:13:35 +01:00
parent c5252c62b8
commit 275ea0bbb4
5 changed files with 262 additions and 0 deletions

26
tests/Admin/AdminTest.php Normal file
View File

@ -0,0 +1,26 @@
<?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\tests\Calendar\Admin;
/**
* @internal
*/
class AdminTest extends \PHPUnit\Framework\TestCase
{
protected const MODULE_NAME = 'Calendar';
protected const URI_LOAD = 'http://127.0.0.1/en/backend/calendar';
use \Modules\tests\ModuleTestTrait;
}

View File

@ -0,0 +1,62 @@
<?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\tests\Calendar\Models;
use Modules\Admin\Models\NullAccount;
use Modules\Calendar\Models\Calendar;
use Modules\Calendar\Models\CalendarMapper;
use Modules\Calendar\Models\Event;
/**
* @internal
*/
class CalendarMapperTest extends \PHPUnit\Framework\TestCase
{
public function testCRUD() : void
{
$calendar = new Calendar();
$calendar->setName('Title');
$calendar->setDescription('Description');
$calendarEvent1 = new Event();
$calendarEvent1->setName('Running test');
$calendarEvent1->setDescription('Desc1');
$calendarEvent1->setCreatedBy(new NullAccount(1));
$calendarEvent1->getSchedule()->setCreatedBy(new NullAccount(1));
$calendar->addEvent($calendarEvent1);
$calendarEvent2 = new Event();
$calendarEvent2->setName('Running test2');
$calendarEvent2->setDescription('Desc2');
$calendarEvent2->setCreatedBy(new NullAccount(1));
$calendarEvent2->getSchedule()->setCreatedBy(new NullAccount(1));
$calendar->addEvent($calendarEvent2);
$id = CalendarMapper::create($calendar);
self::assertGreaterThan(0, $calendar->getId());
self::assertEquals($id, $calendar->getId());
$calendarR = CalendarMapper::get($calendar->getId());
self::assertEquals($calendar->getCreatedAt()->format('Y-m-d'), $calendarR->getCreatedAt()->format('Y-m-d'));
self::assertEquals($calendar->getDescription(), $calendarR->getDescription());
self::assertEquals($calendar->getName(), $calendarR->getName());
$expected = $calendar->getEvents();
$actual = $calendarR->getEvents();
self::assertEquals(\end($expected)->getDescription(), \end($actual)->getDescription());
}
}

View File

@ -0,0 +1,68 @@
<?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\tests\Calendar\Models;
use Modules\Calendar\Models\Calendar;
use Modules\Calendar\Models\Event;
/**
* @internal
*/
class CalendarTest extends \PHPUnit\Framework\TestCase
{
public function testDefault() : void
{
$calendar = new Calendar();
self::assertEquals(0, $calendar->getId());
self::assertEquals('', $calendar->getName());
self::assertEquals((new \DateTime('now'))->format('Y-m-d'), $calendar->getCreatedAt()->format('Y-m-d'));
self::assertEquals((new \DateTime('now'))->format('Y-m-d'), $calendar->getDate()->format('Y-m-d'));
self::assertEquals('', $calendar->getDescription());
self::assertEquals([], $calendar->getEvents());
self::assertInstanceOf('\Modules\Calendar\Models\NullEvent', $calendar->getEvent(0));
self::assertFalse($calendar->hasEventOnDate(new \DateTime('now')));
self::assertEquals([], $calendar->getEventByDate(new \DateTime('now')));
}
public function testSetGet() : void
{
$calendar = new Calendar();
$calendar->setDate($date = new \DateTime('2000-05-05'));
self::assertEquals($date->format('Y-m-d'), $calendar->getDate()->format('Y-m-d'));
$calendar->setName('Title');
self::assertEquals('Title', $calendar->getName());
$calendar->setDescription('Description');
self::assertEquals('Description', $calendar->getDescription());
$id = [];
$id[] = $calendar->addEvent(new Event());
$id[] = $calendar->addEvent(new Event());
$success = $calendar->removeEvent(99);
self::assertFalse($success);
$success = $calendar->removeEvent($id[1]);
self::assertTrue($success);
self::assertEquals(0, $calendar->getEvents()[0]->getId());
self::assertEquals(0, $calendar->getEvent(0)->getId());
self::assertInstanceOf('\Modules\Calendar\Models\Event', $calendar->getEvent(1));
}
}

View File

@ -0,0 +1,44 @@
<?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\tests\Calendar\Models;
use Modules\Admin\Models\NullAccount;
use Modules\Calendar\Models\Event;
use Modules\Calendar\Models\EventMapper;
/**
* @internal
*/
class EventMapperTest extends \PHPUnit\Framework\TestCase
{
public function testCRUD() : void
{
$calendarEvent1 = new Event();
$calendarEvent1->setName('Running test');
$calendarEvent1->setDescription('Desc1');
$calendarEvent1->setCreatedBy(new NullAccount(1));
$calendarEvent1->getSchedule()->setCreatedBy(new NullAccount(1));
$calendarEvent1->setCalendar(1);
$id = EventMapper::create($calendarEvent1);
self::assertGreaterThan(0, $calendarEvent1->getId());
self::assertEquals($id, $calendarEvent1->getId());
$eventR = EventMapper::get($calendarEvent1->getId());
self::assertEquals($calendarEvent1->getCreatedBy()->getId(), $eventR->getCreatedBy()->getId());
self::assertEquals($calendarEvent1->getDescription(), $eventR->getDescription());
}
}

View File

@ -0,0 +1,62 @@
<?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\tests\Calendar\Models;
use Modules\Admin\Models\NullAccount;
use Modules\Calendar\Models\Event;
use phpOMS\Account\Account;
/**
* @internal
*/
class EventTest extends \PHPUnit\Framework\TestCase
{
public function testDefault() : void
{
$event = new Event();
self::assertEquals(0, $event->getId());
self::assertEquals(0, $event->getCreatedBy()->getId());
self::assertEquals('', $event->getName());
self::assertEquals((new \DateTime('now'))->format('Y-m-d'), $event->getCreatedAt()->format('Y-m-d'));
self::assertEquals('', $event->getDescription());
self::assertEquals([], $event->getPeople());
self::assertInstanceOf('\Modules\Admin\Models\NullAccount', $event->getPerson(1));
self::assertInstanceOf('\phpOMS\Stdlib\Base\Location', $event->getLocation());
}
public function testSetGet() : void
{
$event = new Event();
$event->setCreatedBy(new NullAccount(1));
self::assertEquals(1, $event->getCreatedBy()->getId());
$event->setName('Name');
self::assertEquals('Name', $event->getName());
$event->setDescription('Description');
self::assertEquals('Description', $event->getDescription());
$event->addPerson(new Account());
$event->addPerson(new Account());
$success = $event->removePerson(99);
self::assertFalse($success);
$success = $event->removePerson(0);
self::assertTrue($success);
}
}