Example #1
0
 public function testLiking()
 {
     $idUser1 = 1;
     $idUser2 = 2;
     $idUser3 = 3;
     $idUser4 = 4;
     $photoidUser1 = 1;
     $photoidUser2 = 4;
     $photoidUser3 = 8;
     $photoidUser4 = 11;
     // User should be able to like photos they don't own
     list($result_code, $result) = User::likePhoto($idUser1, $photoidUser2);
     $this->assertEquals(200, $result_code);
     $this->assertTrue($result['success'] == true);
     $this->assertTrue($result['likes'] == true);
     $this->tester->seeInDatabase('UserPhotoLikes', ['userid' => $idUser1, 'photoid' => $photoidUser2]);
     // User should be able to unlike photos they don't own
     list($result_code, $result) = User::likePhoto($idUser1, $photoidUser2);
     $this->assertEquals(200, $result_code);
     $this->assertTrue($result['success'] == true);
     $this->assertTrue($result['likes'] == false);
     $this->tester->dontSeeInDatabase('UserPhotoLikes', ['userid' => $idUser1, 'photoid' => $photoidUser2]);
     // User should not be be able to like photos they own
     list($result_code, $result) = User::likePhoto($idUser1, $photoidUser1);
     $this->assertEquals(403, $result_code);
     $this->assertTrue($result['success'] == false);
     $this->tester->dontSeeInDatabase('UserPhotoLikes', ['userid' => $idUser1, 'photoid' => $photoidUser1]);
     // User should not be be able to like photos that don't exist
     list($result_code, $result) = User::likePhoto($idUser1, 0);
     $this->assertEquals(404, $result_code);
     $this->assertTrue($result['success'] == false);
     $this->tester->dontSeeInDatabase('UserPhotoLikes', ['userid' => $idUser1, 'photoid' => 0]);
 }
Example #2
0
            $list = new UserList();
            $filename = $tmp;
            $result = $list->addPhoto($userid, $filename, $listitem);
        } else {
            http_response_code(400);
        }
    });
});
// Note photo, not photos
with('/api/photo', function () {
    // Get the global photo list
    respond('POST', '/[:photoid]/like', function ($request, $response) {
        list($sessionuserid, $skey) = validateUserSession($request);
        if ($sessionuserid) {
            $photoid = $request->photoid;
            list($result_code, $result) = User::likePhoto($sessionuserid, $photoid);
            http_response_code($result_code);
        } else {
            $result = ['success' => false];
            http_response_code(401);
        }
        echo json_encode($result, JSON_PRETTY_PRINT);
    });
});
with('/api/block', function () {
    respond('POST', '/photo/[:photoid]', function ($request, $response) {
        $result_code = 200;
        try {
            $skey = $request->param('skey');
            $userid = $request->param('userid');
            $photoid = $request->photoid;