<?php include_once dirname(__FILE__) . "/../common/common.php"; include_once dirname(__FILE__) . '/../business/AuthB.php'; include_once dirname(__FILE__) . '/../database/Journal.php'; $auth = new AuthB(); if (!$auth->canSynchJournal()) { $response = errorResponse(RESPONSE_UNAUTHORIZED); } else { if (isGetMethod()) { if (isset($_GET['hash'])) { $hash = $_GET['hash']; if ($hash === '') { $response = errorResponse(RESPONSE_BAD_REQUEST, 'hash is blank'); } else { $object = Journal::findByHash($hash); if ($object === null) { $response = errorResponse(RESPONSE_NOT_FOUND); } else { $response = successResponse(); $response['tripId'] = $object->getTripId(); $response['journalId'] = $object->getJournalId(); $response['created'] = $object->getCreated(); $response['updated'] = $object->getUpdated(); $response['userId'] = $object->getUserId(); $response['journalDate'] = $object->getJournalDate(); $response['journalTitle'] = $object->getJournalTitle(); $response['journalText'] = $object->getJournalText(); $response['deleted'] = $object->getDeleted(); $response['hash'] = $object->getHash(); }
/** * Test #17. * The findByHash function returns an object populated with previous * values if a hash for a previous instance is given. * @depends testUpdate * @depends testHashGetInstance */ public function testHashOldInstance() { global $testTripId1, $testJournalId1, $testUserId1; global $testUserId2; // create the object and save it $object = new Journal($testTripId1, $testJournalId1); $object->setUserId($testUserId1); $object->setJournalDate('2015-09-30'); $object->setJournalTitle('Journal Title'); $object->setJournalText('journal text'); $object->setDeleted('N'); $this->assertTrue($object->save()); $this->assertEquals(1, $this->countTestRows()); $old_hash = $object->getHash(); // change values and update the object $object->setUserId($testUserId2); $object->setJournalDate('2015-10-01'); $object->setJournalTitle('Journal Title 2'); $object->setJournalText('journal text 2'); $object->setDeleted('Y'); $this->assertTrue($object->save()); $this->assertEquals(2, $this->countTestRows()); $new_hash = $object->getHash(); // read the object from the database and confirm that the old // values are returned $object = Journal::findByHash($old_hash); $this->assertNotNull($object); $this->assertEquals($testTripId1, $object->getTripId()); $this->assertEquals($testJournalId1, $object->getJournalId()); $this->assertEquals($testUserId1, $object->getUserId()); $this->assertEquals('2015-09-30', $object->getJournalDate()); $this->assertEquals('Journal Title', $object->getJournalTitle()); $this->assertEquals('journal text', $object->getJournalText()); $this->assertEquals('N', $object->getDeleted()); $this->assertEquals($old_hash, $object->getHash()); // read the new object from the database and confirm that the new // values are returned $object = Journal::findByHash($new_hash); $this->assertNotNull($object); $this->assertEquals($testTripId1, $object->getTripId()); $this->assertEquals($testJournalId1, $object->getJournalId()); $this->assertEquals($testUserId2, $object->getUserId()); $this->assertEquals('2015-10-01', $object->getJournalDate()); $this->assertEquals('Journal Title 2', $object->getJournalTitle()); $this->assertEquals('journal text 2', $object->getJournalText()); $this->assertEquals('Y', $object->getDeleted()); $this->assertEquals($new_hash, $object->getHash()); }