public function testGettersSetters() { $t = new \Application\BookingOrder(); $t->setEmpId(1); $this->assertEquals(1, $t->getEmpId()); $t->setRecurring(1, 3); $this->assertEquals(1, $t->getRecurring()); $this->assertEquals(3, $t->getDuration()); $t->setRecurring(1, 5); $this->assertEquals(1, $t->getRecurring()); $this->assertEquals(4, $t->getDuration()); $t->setRecurring(2, 2); $this->assertEquals(2, $t->getRecurring()); $this->assertEquals(2, $t->getDuration()); $t->setRecurring(2, 3); $this->assertEquals(2, $t->getRecurring()); $this->assertEquals(2, $t->getDuration()); $t->setRecurring(2, 1); $this->assertEquals(2, $t->getRecurring()); $this->assertEquals(0, $t->getDuration()); $t->setRecurring(2, 6); $this->assertEquals(2, $t->getRecurring()); $this->assertEquals(4, $t->getDuration()); $t->setRecurring(3, 1); $this->assertEquals(3, $t->getRecurring()); $this->assertEquals(1, $t->getDuration()); $t->setRecurring(3, 7); $this->assertEquals(3, $t->getRecurring()); $this->assertEquals(7, $t->getDuration()); $t->setNotes('note'); $this->assertEquals('note', $t->getNotes()); $t->setDate(2015, 1, 2); $t->setStartTime24(10, 20); $this->assertEquals((new \DateTime('2015-01-02 10:20:00'))->getTimestamp(), $t->getStartTime()->getTimestamp()); $t->setEndTime24(11, 22); $this->assertEquals((new \DateTime('2015-01-02 11:22:00'))->getTimestamp(), $t->getEndTime()->getTimestamp()); $t->setStartTime12(8, 25, 'am'); $this->assertEquals((new \DateTime('2015-01-02 08:25:00'))->getTimestamp(), $t->getStartTime()->getTimestamp()); $t->setEndTime12(9, 35, 'pm'); $this->assertEquals((new \DateTime('2015-01-02 21:35:00'))->getTimestamp(), $t->getEndTime()->getTimestamp()); $t->setEndTime12(12, 00, 'pm'); $this->assertEquals((new \DateTime('2015-01-03 00:00:00'))->getTimestamp(), $t->getEndTime()->getTimestamp()); $t->setEndTime12(12, 15, 'pm'); $this->assertEquals((new \DateTime('2015-01-02 00:15:00'))->getTimestamp(), $t->getEndTime()->getTimestamp()); $this->assertFalse($t->isTimeValid()); $t->setEndTime12(8, 30, 'am'); $this->assertTrue($t->isTimeValid()); $this->assertTrue($t->isPeriodBeforeTime(new \DateTime('2015-01-02 08:30:00'))); $this->assertTrue($t->isPeriodBeforeTime(new \DateTime('2015-01-02 08:40:00'))); $this->assertFalse($t->isPeriodBeforeTime(new \DateTime('2015-01-02 08:27:00'))); $this->assertFalse($t->isPeriodBeforeTime(new \DateTime('2015-01-02 08:25:00'))); $this->assertFalse($t->isPeriodBeforeTime(new \DateTime('2015-01-01 08:27:00'))); }
public function testMakeRecurringMonthly() { $order = new \Application\BookingOrder(); $order->setDate(2015, 10, 17); $order->setStartTime24(8, 15); $order->setEndTime24(9, 25); $order->setNotes('notes'); $order->setEmpId(3); $order->setRecurring(BookingOrder::RECURRING_MONTHLY, 2); $start = new \DateTime('2015-10-17 08:15:00'); $end = new \DateTime('2015-10-17 09:25:00'); $matcher = new \Application\AppointmentMatcher(); $chain = $matcher->makeChain($order, 1, 2); $counted = 0; $step = new \DateInterval('P1M'); foreach ($chain as $res) { $this->assertEquals($start->getTimestamp(), $res->getTimeStart()->getTimestamp()); $this->assertEquals($end->getTimestamp(), $res->getTimeEnd()->getTimestamp()); $this->assertEquals('notes', $res->getNotes()); $this->assertEquals(3, $res->getEmpId()); $this->assertEquals(2, $res->getRoomId()); $start->add($step); $end->add($step); ++$counted; } $this->assertEquals(3, $counted); }