<?php include_once dirname(__FILE__) . "/../common/common.php"; include_once dirname(__FILE__) . '/../business/AuthB.php'; include_once dirname(__FILE__) . '/../database/Trip.php'; include_once dirname(__FILE__) . '/../database/Journal.php'; $auth = new AuthB(); if (!$auth->canGetTrip()) { $response = errorResponse(RESPONSE_UNAUTHORIZED); } else { $tripId = ''; if (isset($_GET['current'])) { $tripId = Trip::findCurrentTrip(); if (!$tripId) { $tripId = ''; } } else { if (isset($_GET['tripId'])) { $tripId = $_GET['tripId']; } } 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();
/** * Extra test. Make sure the get operation works with a "latest" * value. */ function testGetLatest() { global $testTripId1, $testTripId2; // use the timezone where we do our testing :-) date_default_timezone_set("America/New_York"); $now = time(); $today = date('Y-m-d', $now); $yesterday = date('Y-m-d', $now - 24 * 60 * 60); $tomorrow = date('Y-m-d', $now + 24 * 60 * 60); $past = date('Y-m-d', $now - 5 * (24 * 60 * 60)); $future = date('Y-m-d', $now + 5 * (24 * 60 * 60)); $farPast = date('Y-m-d', $now - 10 * (24 * 60 * 60)); $farFuture = date('Y-m-d', $now + 10 * (24 * 60 * 60)); $testTrip1 = new Trip($testTripId1); $testTrip2 = new Trip($testTripId2); // one past and one future trip $testTrip1->setStartDate($past); $testTrip1->setEndDate($yesterday); $this->assertTrue($testTrip1->save()); $testTrip2->setStartDate($tomorrow); $testTrip2->setEndDate($future); $this->assertTrue($testTrip2->save()); $tripId = Trip::findCurrentTrip(); $this->assertEquals($testTripId1, $tripId); // one past and one current trip $testTrip1->setStartDate($past); $testTrip1->setEndDate($yesterday); $this->assertTrue($testTrip1->save()); $testTrip2->setStartDate($yesterday); $testTrip2->setEndDate($tomorrow); $this->assertTrue($testTrip2->save()); $tripId = Trip::findCurrentTrip(); $this->assertEquals($testTripId2, $tripId); // two past trips $testTrip1->setStartDate($past); $testTrip1->setEndDate($yesterday); $this->assertTrue($testTrip1->save()); $testTrip2->setStartDate($farPast); $testTrip2->setEndDate($past); $this->assertTrue($testTrip2->save()); $tripId = Trip::findCurrentTrip(); $this->assertEquals($testTripId1, $tripId); // one current and one future trip $testTrip1->setStartDate($yesterday); $testTrip1->setEndDate($tomorrow); $this->assertTrue($testTrip1->save()); $testTrip2->setStartDate($tomorrow); $testTrip2->setEndDate($future); $this->assertTrue($testTrip2->save()); $tripId = Trip::findCurrentTrip(); $this->assertEquals($testTripId1, $tripId); // two current trips, nested $testTrip1->setStartDate($yesterday); $testTrip1->setEndDate($tomorrow); $this->assertTrue($testTrip1->save()); $testTrip2->setStartDate($past); $testTrip2->setEndDate($future); $this->assertTrue($testTrip2->save()); $tripId = Trip::findCurrentTrip(); $this->assertEquals($testTripId1, $tripId); // two current trips, staggered $testTrip1->setStartDate($past); $testTrip1->setEndDate($tomorrow); $this->assertTrue($testTrip1->save()); $testTrip2->setStartDate($yesterday); $testTrip2->setEndDate($future); $this->assertTrue($testTrip2->save()); $tripId = Trip::findCurrentTrip(); $this->assertEquals($testTripId2, $tripId); }