diff --git a/tests/Admin/AdminTest.php b/tests/Admin/AdminTest.php new file mode 100644 index 0000000..afb74f1 --- /dev/null +++ b/tests/Admin/AdminTest.php @@ -0,0 +1,26 @@ +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()); + } +} diff --git a/tests/Models/CalendarTest.php b/tests/Models/CalendarTest.php new file mode 100644 index 0000000..176c5e5 --- /dev/null +++ b/tests/Models/CalendarTest.php @@ -0,0 +1,68 @@ +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)); + } +} diff --git a/tests/Models/EventMapperTest.php b/tests/Models/EventMapperTest.php new file mode 100644 index 0000000..dc1c966 --- /dev/null +++ b/tests/Models/EventMapperTest.php @@ -0,0 +1,44 @@ +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()); + } +} diff --git a/tests/Models/EventTest.php b/tests/Models/EventTest.php new file mode 100644 index 0000000..947ac9f --- /dev/null +++ b/tests/Models/EventTest.php @@ -0,0 +1,62 @@ +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); + } +}