if ($tripId === '') { $response = errorResponse(RESPONSE_BAD_REQUEST); } else { $object = new Trip($tripId); if ($object->getCreated() === null) { $response = errorResponse(RESPONSE_NOT_FOUND); } else { $response = successResponse(); $response['tripId'] = $object->getTripId(); $response['created'] = $object->getCreated(); $response['updated'] = $object->getUpdated(); $response['name'] = $object->getName(); $response['description'] = $object->getDescription(); $response['bannerImg'] = $object->getBannerImg(); $response['startDate'] = $object->getStartDate(); $response['endDate'] = $object->getEndDate(); $response['active'] = $object->getActive(); $response['deleted'] = $object->getDeleted(); // Do NOT return the hash field on the GET service. $journal = Journal::getFirstJournal($object->getTripId()); if ($journal !== null) { $response['firstJournalId'] = $journal->getJournalId(); } $journal = Journal::getLastJournal($object->getTripId()); if ($journal !== null) { $response['lastJournalId'] = $journal->getJournalId(); } } } } echo json_encode($response);
/** * Test #19. * Iteration functions, when the journal entries have the same date * @depends testIterationDifferentDates */ public function testIterationSameDate() { global $testTripId1; global $testJournalId1, $testJournalId2; global $testJournalId3, $testJournalId4; // Creat journal entries. For testing purposes, the entries will // be ordered in sequence (Id1, Id2, Id3, Id4). They are created // in this order, since we're testing on creation timestamp $journal1 = new Journal($testTripId1, $testJournalId1); $journal1->setJournalDate('2015-10-01'); $this->assertTrue($journal1->save()); $journal2 = new Journal($testTripId1, $testJournalId2); $journal2->setJournalDate('2015-10-01'); $this->assertTrue($journal2->save()); $journal3 = new Journal($testTripId1, $testJournalId3); $journal3->setJournalDate('2015-10-01'); $this->assertTrue($journal3->save()); $journal4 = new Journal($testTripId1, $testJournalId4); $journal4->setJournalDate('2015-10-01'); $this->assertTrue($journal4->save()); $test = Journal::getFirstJournal($testTripId1); $this->assertEquals($testTripId1, $test->getTripId()); $this->assertEquals($testJournalId1, $test->getJournalId()); $test = Journal::getLastJournal($testTripId1); $this->assertEquals($testTripId1, $test->getTripId()); $this->assertEquals($testJournalId4, $test->getJournalId()); $test = $journal1->getPreviousJournal(); $this->assertNull($test); $test = $journal1->getNextJournal(); $this->assertEquals($testJournalId2, $test->getJournalId()); $test = $journal2->getPreviousJournal(); $this->assertEquals($testJournalId1, $test->getJournalId()); $test = $journal2->getNextJournal(); $this->assertEquals($testJournalId3, $test->getJournalId()); $test = $journal3->getPreviousJournal(); $this->assertEquals($testJournalId2, $test->getJournalId()); $test = $journal3->getNextJournal(); $this->assertEquals($testJournalId4, $test->getJournalId()); $test = $journal4->getPreviousJournal(); $this->assertEquals($testJournalId3, $test->getJournalId()); $test = $journal4->getNextJournal(); $this->assertNull($test); }