From ee4f93576edebef2b4770cfba2e40d3ea48bb3cc Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 14 Mar 2020 14:14:26 +0100 Subject: [PATCH] add tests --- tests/Admin/AdminTest.php | 26 ++++++ tests/Models/EventMapperTest.php | 142 +++++++++++++++++++++++++++++++ tests/Models/EventTest.php | 83 ++++++++++++++++++ 3 files changed, 251 insertions(+) create mode 100644 tests/Admin/AdminTest.php create mode 100644 tests/Models/EventMapperTest.php create mode 100644 tests/Models/EventTest.php diff --git a/tests/Admin/AdminTest.php b/tests/Admin/AdminTest.php new file mode 100644 index 0000000..9cd3625 --- /dev/null +++ b/tests/Admin/AdminTest.php @@ -0,0 +1,26 @@ +setType(EventType::SEMINAR); + $event->setName('Eventname'); + $event->setDescription('Event description'); + $event->setCreatedBy(new NullAccount(1)); + $event->setStart(new \DateTime('2000-05-05')); + $event->setEnd(new \DateTime('2005-05-05')); + + $money = new Money(); + $money->setString('1.23'); + + $event->setCosts($money); + $event->setBudget($money); + $event->setEarnings($money); + + $task = new Task(); + $task->setTitle('EventTask 1'); + $task->setCreatedBy(new NullAccount(1)); + + $task2 = new Task(); + $task2->setTitle('EventTask 2'); + $task2->setCreatedBy(new NullAccount(1)); + + $event->addTask($task); + $event->addTask($task2); + + $event->setProgress(11); + $event->setProgressType(ProgressType::TASKS); + + $media = new Media(); + $media->setCreatedBy(new NullAccount(1)); + $media->setDescription('desc'); + $media->setPath('some/path'); + $media->setSize(11); + $media->setExtension('png'); + $media->setName('Event Media'); + $event->addMedia($media); + + $id = EventMapper::create($event); + self::assertGreaterThan(0, $event->getId()); + self::assertEquals($id, $event->getId()); + + $eventR = EventMapper::get($event->getId()); + + self::assertEquals($event->getName(), $eventR->getName()); + self::assertEquals($event->getDescription(), $eventR->getDescription()); + self::assertEquals($event->countTasks(), $eventR->countTasks()); + self::assertEquals($event->getStart()->format('Y-m-d'), $eventR->getStart()->format('Y-m-d')); + self::assertEquals($event->getEnd()->format('Y-m-d'), $eventR->getEnd()->format('Y-m-d')); + self::assertEquals($event->getCosts()->getAmount(), $eventR->getCosts()->getAmount()); + self::assertEquals($event->getBudget()->getAmount(), $eventR->getBudget()->getAmount()); + self::assertEquals($event->getEarnings()->getAmount(), $eventR->getEarnings()->getAmount()); + self::assertEquals($event->getProgress(), $eventR->getProgress()); + self::assertEquals($event->getProgressType(), $eventR->getProgressType()); + + $expected = $event->getMedia(); + $actual = $eventR->getMedia(); + + self::assertEquals(\end($expected)->getName(), \end($actual)->getName()); + } + + /** + * @covers Modules\EventManagement\Models\EventMapper + * @group module + */ + public function testNewest() : void + { + $newest = EventMapper::getNewest(1); + + self::assertCount(1, $newest); + } + + /** + * @group volume + * @group module + * @coversNothing + */ + public function testVolume() : void + { + for ($i = 1; $i < 100; ++$i) { + $text = new Text(); + + $event = new Event(); + + $event->setType(EventType::SEMINAR); + $event->setName($text->generateText(\mt_rand(3, 7))); + $event->setDescription($text->generateText(\mt_rand(20, 100))); + $event->setCreatedBy(new NullAccount(1)); + $event->setStart(new \DateTime('2000-05-05')); + $event->setEnd(new \DateTime('2005-05-05')); + $event->setProgress(\mt_rand(0, 100)); + $event->setProgressType(\mt_rand(0, 4)); + + $money = new Money(); + $money->setString('1.23'); + + $event->setCosts($money); + $event->setBudget($money); + $event->setEarnings($money); + + $id = EventMapper::create($event); + } + } +} diff --git a/tests/Models/EventTest.php b/tests/Models/EventTest.php new file mode 100644 index 0000000..7e519c2 --- /dev/null +++ b/tests/Models/EventTest.php @@ -0,0 +1,83 @@ +getId()); + self::assertEquals(EventType::DEFAULT, $event->getType()); + self::assertInstanceOf('\Modules\Calendar\Models\Calendar', $event->getCalendar()); + self::assertEquals((new \DateTime('now'))->format('Y-m-d'), $event->getStart()->format('Y-m-d')); + self::assertEquals((new \DateTime('now'))->modify('+1 month')->format('Y-m-d'), $event->getEnd()->format('Y-m-d')); + self::assertEquals(0, $event->getCosts()->getInt()); + self::assertEquals(0, $event->getBudget()->getInt()); + self::assertEquals(0, $event->getEarnings()->getInt()); + self::assertFalse($event->removeTask(2)); + self::assertEmpty($event->getTasks()); + self::assertEquals(0, $event->getProgress()); + self::assertEquals(ProgressType::MANUAL, $event->getProgressType()); + } + + public function testSetGet() : void + { + $event = new Event(); + + $event->setType(EventType::SEMINAR); + self::assertEquals(EventType::SEMINAR, $event->getType()); + + $money = new Money(); + $money->setString('1.23'); + + $event->setCosts($money); + self::assertEquals($money->getAmount(), $event->getCosts()->getAmount()); + + $event->setBudget($money); + self::assertEquals($money->getAmount(), $event->getBudget()->getAmount()); + + $event->setEarnings($money); + self::assertEquals($money->getAmount(), $event->getEarnings()->getAmount()); + + $task = new Task(); + $task->setTitle('A'); + + $event->addTask($task); + self::assertEquals('A', $event->getTask(0)->getTitle()); + + self::assertTrue($event->removeTask(0)); + self::assertEquals(0, $event->countTasks()); + + $event->addTask($task); + self::assertCount(1, $event->getTasks()); + + $event->setProgress(10); + self::assertEquals(10, $event->getProgress()); + + $event->setProgressType(ProgressType::TASKS); + self::assertEquals(ProgressType::TASKS, $event->getProgressType()); + } +}