/** * 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, $testReferenceId1, $testUserId1; // create the object and save it $object = new Feedback($testTripId1, $testReferenceId1, $testUserId1); $object->setType("like"); $object->setDeleted('N'); $this->assertTrue($object->save()); $this->assertEquals(1, $this->countTestRows()); $old_hash = $object->getHash(); // change values and update the object $object->setType("off"); $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 = Feedback::findByHash($old_hash); $this->assertNotNull($object); $this->assertEquals($testTripId1, $object->getTripId()); $this->assertEquals($testReferenceId1, $object->getReferenceId()); $this->assertEquals($testUserId1, $object->getUserId()); $this->assertEquals("like", $object->getType()); $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 = Feedback::findByHash($new_hash); $this->assertNotNull($object); $this->assertEquals($testTripId1, $object->getTripId()); $this->assertEquals($testReferenceId1, $object->getReferenceId()); $this->assertEquals($testUserId1, $object->getUserId()); $this->assertEquals("off", $object->getType()); $this->assertEquals('Y', $object->getDeleted()); $this->assertEquals($new_hash, $object->getHash()); }
} else { if (isPutMethod()) { $data = getPostData(); if (isset($data['tripId']) && $data['tripId'] !== '' && isset($data['referenceId']) && $data['referenceId'] !== '' && isset($data['userId']) && $data['userId'] !== '') { $tripId = $data['tripId']; $referenceId = $data['referenceId']; $userId = $data['userId']; $object = new Feedback($tripId, $referenceId, $userId); if (isset($data['created'])) { $object->setCreated($data['created']); } if (isset($data['updated'])) { $object->setUpdated($data['updated']); } if (isset($data['type'])) { $object->setType($data['type']); } if (isset($data['deleted'])) { $object->setDeleted($data['deleted']); } if (isset($data['hash'])) { $object->setHash($data['hash']); } if ($object->save()) { $response = successResponse(); } else { // @codeCoverageIgnoreStart // cannot unit test database errors $response = errorResponse(RESPONSE_INTERNAL_ERROR); // @codeCoverageIgnoreEnd }
/** * @depends testSynchGetInvalid */ public function testSynchGetUnauthorized() { global $testTripId1; global $testReferenceId1; global $testUserId1; global $adminAuthToken; // Create the object and set attributes $object = new Feedback($testTripId1, $testReferenceId1, $testUserId1); $object->setType('-type-1'); $object->setDeleted('Y'); // Save the object and confirm a row is added to the database $this->assertTrue($object->save()); $this->assertEquals(1, $this->countTestRows()); $data = array('hash' => $object->getHash()); $result = getApi('synchFeedback.php', $data, $adminAuthToken); $this->assertEquals(RESPONSE_UNAUTHORIZED, $result['resultCode']); }
public static function submitFeedback() { $captcha = Core::validate(self::getVar('captcha')); $right_code = Session::getSessionVariable('security_code'); Session::unsetSessionVariable('security_code'); if ($captcha != $right_code) { Core::printErrorJson('Incorrect captcha'); exit; } $usr = self::getCurrentUser(1); if (!isset($usr)) { header('Location: /'); exit; } $feedback = array(); $feedback['type'] = Core::validate(self::getVar('trouble-type')); $feedback['message'] = Core::validate(self::getVar('trouble')); $feedback['email'] = Core::validate(self::getVar('email')); $fbModel = new Feedback(); $fbModel->setUID($usr->getId()); $fbModel->setType($feedback['type']); $fbModel->setMessage($feedback['message']); $fbModel->setEmail($feedback['email']); $fbModel->insert(); Core::printSuccessJson('Your ticket is active now!'); }