Exemplo n.º 1
0
 /**
  * test #14.
  * Overriding automatic attributes using a future date. Because
  * a future date is used, the record can no longer be changed after
  * it was saved.
  * @depends testSaveEmptyObject
  * @depends testSetAttributes
  * @depends testUpdate
  * @depends testOverrideAutomaticAttributesNewRecord
  */
 public function testOverrideAutomaticAttributesFutureDate()
 {
     global $testTripId1, $testJournalId1, $testUserId1;
     global $testUserId2;
     // Create the object, which automatically gets the current date
     $object = new Journal($testTripId1, $testJournalId1);
     $object->setUserId($testUserId1);
     $object->setJournalDate('2015-09-30');
     $object->setJournalTitle('Journal Title');
     $object->setJournalText('journal text');
     $object->setDeleted('Y');
     $this->assertTrue($object->save());
     $this->assertEquals(1, $this->countTestRows());
     $originalCreated = $object->getCreated();
     $originalUpdated = $object->getUpdated();
     $originalHash = $object->getHash();
     // Change the object with different values, using a guaranteed
     // future date for the Created and Updated fields. Note that
     // the mySQL timestamp values allow for dates up to January 19,
     // 2038. Select as the future date for this test January 18, 2038
     // values after first save are unchanged
     $object->setCreated('2038-01-18 10:10:10.000000');
     $object->setUpdated('2038-01-18 10:10:11.000000');
     $object->setUserId($testUserId2);
     $object->setJournalDate('2015-10-01');
     $object->setJournalTitle('Journal Title 2');
     $object->setJournalText('journal text 2');
     $object->setDeleted('N');
     $object->setHash('future date hash');
     // Check the values before saving
     $this->assertEquals($testTripId1, $object->getTripId());
     $this->assertEquals($testJournalId1, $object->getJournalId());
     $this->assertEquals('2038-01-18 10:10:10.000000', $object->getCreated());
     $this->assertEquals('2038-01-18 10:10:11.000000', $object->getUpdated());
     $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('N', $object->getDeleted());
     $this->assertEquals('future date hash', $object->getHash());
     // update the record, this adds a row in the database
     $this->assertTrue($object->save());
     $this->assertEquals(2, $this->countTestRows());
     // after the update, the information has been saved
     $this->assertEquals($testTripId1, $object->getTripId());
     $this->assertEquals($testJournalId1, $object->getJournalId());
     $this->assertEquals('2038-01-18 10:10:10.000000', $object->getCreated());
     $this->assertEquals('2038-01-18 10:10:11.000000', $object->getUpdated());
     $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('N', $object->getDeleted());
     $this->assertEquals('future date hash', $object->getHash());
     // Try to update the record. This will add a row in the database
     $object->setJournalDate('2015-10-02');
     $object->setUserId($testUserId1);
     $object->setJournalTitle('Journal Title 3');
     $object->setJournalText('journal text 3');
     $object->setDeleted('Y');
     $this->assertTrue($object->save());
     $this->assertEquals(3, $this->countTestRows());
     // but the new information is not saved. The previously saved
     // information cannot be overwritten without manually setting the
     // updated field.
     $this->assertEquals($testTripId1, $object->getTripId());
     $this->assertEquals($testJournalId1, $object->getJournalId());
     $this->assertEquals('2038-01-18 10:10:10.000000', $object->getCreated());
     $this->assertEquals('2038-01-18 10:10:11.000000', $object->getUpdated());
     $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('N', $object->getDeleted());
     // Note: this will FAIL in the current implementation!
     //$this->assertEquals('future date hash', $object->getHash());
 }
Exemplo n.º 2
0
 /**
  * Test #9. PUT request update existing object.
  * @depends testPutCreate
  */
 public function testUpdateJournal()
 {
     global $testTripId1;
     global $testJournalId1;
     $object = new Journal($testTripId1, $testJournalId1);
     $object->setUserId("user");
     $object->setJournalDate("2015-09-30");
     $object->setJournalTitle("Journal Title");
     $object->setJournalText("Journal Text");
     $object->setDeleted('N');
     $object->save();
     $this->assertEquals(1, $this->countTestRows());
     $data = array('tripId' => $testTripId1, 'journalId' => $testJournalId1, 'created' => '2015-10-01', 'updated' => '2015-10-02', 'userId' => 'user-2', 'journalDate' => '2015-10-01', 'journalTitle' => 'Journal Title 2', 'journalText' => 'Journal Text 2', 'deleted' => 'Y', 'hash' => 'forced hash');
     $result = putApi('putJournal.php', $data);
     $this->assertEquals(RESPONSE_SUCCESS, $result['resultCode']);
     $this->assertEquals(2, $this->countTestRows());
     $object = new Journal($testTripId1, $testJournalId1);
     $this->assertEquals($testTripId1, $object->getTripId());
     $this->assertEquals($testJournalId1, $object->getJournalId());
     $this->assertEquals('user-2', $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());
 }
Exemplo n.º 3
0
     $tripId = $_GET['tripId'];
 }
 $journalId = '';
 if (isset($_GET['journalId'])) {
     $journalId = $_GET['journalId'];
 }
 if ($tripId === '' || $journalId === '') {
     $response = errorResponse(RESPONSE_BAD_REQUEST);
 } else {
     $object = new Journal($tripId, $journalId);
     if ($object->getCreated() === 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();
         if ($temp = $object->getPreviousJournal()) {
             $response['prevId'] = $temp->getJournalId();
         }
         if ($temp = $object->getNextJournal()) {
             $response['nextId'] = $temp->getJournalId();
         }
     }
 }