diff options
| author | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2010-09-29 20:55:14 +0000 | 
|---|---|---|
| committer | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2010-09-29 20:55:14 +0000 | 
| commit | 3ff661c0e0180b7808b1b95f9d25cc736d710026 (patch) | |
| tree | f8ef9fd5a0122941f6bc5bcf6ddc6ccf82a46bc6 /tests/Api/PostsAddTest.php | |
| parent | da272b5a20bec8d39c6d9cdf2fd5573de99083be (diff) | |
| download | semanticscuttle-3ff661c0e0180b7808b1b95f9d25cc736d710026.tar.gz semanticscuttle-3ff661c0e0180b7808b1b95f9d25cc736d710026.tar.bz2  | |
send 400 status code if a parameter is missing
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@775 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'tests/Api/PostsAddTest.php')
| -rw-r--r-- | tests/Api/PostsAddTest.php | 107 | 
1 files changed, 107 insertions, 0 deletions
diff --git a/tests/Api/PostsAddTest.php b/tests/Api/PostsAddTest.php index 0769bdd..dea002e 100644 --- a/tests/Api/PostsAddTest.php +++ b/tests/Api/PostsAddTest.php @@ -199,6 +199,113 @@ TXT;          );      } +    /** +     * Verify that the URL and description/title are enough parameters +     * to add a bookmark. +     */ +    public function testUrlDescEnough() +    { +        $this->bs->deleteAll(); + +        list($req, $uId) = $this->getAuthRequest(); +        $req->setMethod(HTTP_Request2::METHOD_POST); +        $req->addPostParameter('url', 'http://example.org/tag2'); +        $req->addPostParameter('description', 'foo bar'); +        $res = $req->send(); + +        //all should be well +        $this->assertEquals(200, $res->getStatus()); +        //verify MIME content type +        $this->assertEquals( +            'text/xml; charset=utf-8', +            $res->getHeader('content-type') +        ); + +        //verify xml +        $this->assertTag( +            array( +                'tag'        => 'result', +                'attributes' => array('code' => 'done') +            ), +            $res->getBody(), +            null, false +        ); + +        //user has 1 bookmark now +        $data = $this->bs->getBookmarks(0, null, $uId); +        $this->assertEquals(1, $data['total']); +    } + +    /** +     * Verify that the URL is required +     */ +    public function testUrlRequired() +    { +        $this->bs->deleteAll(); + +        list($req, $uId) = $this->getAuthRequest(); +        $req->setMethod(HTTP_Request2::METHOD_POST); +        //$req->addPostParameter('url', 'http://example.org/tag2'); +        $req->addPostParameter('description', 'foo bar'); +        $res = $req->send(); + +        //all should be well +        $this->assertEquals(400, $res->getStatus()); +        //verify MIME content type +        $this->assertEquals( +            'text/xml; charset=utf-8', +            $res->getHeader('content-type') +        ); + +        //verify xml +        $this->assertTag( +            array( +                'tag'        => 'result', +                'attributes' => array('code' => 'URL missing') +            ), +            $res->getBody(), +            null, false +        ); + +        //user still has 0 bookmarks +        $data = $this->bs->getBookmarks(0, null, $uId); +        $this->assertEquals(0, $data['total']); +    } + +    /** +     * Verify that the description/title is required +     */ +    public function testDescriptionRequired() +    { +        $this->bs->deleteAll(); + +        list($req, $uId) = $this->getAuthRequest(); +        $req->setMethod(HTTP_Request2::METHOD_POST); +        $req->addPostParameter('url', 'http://example.org/tag2'); +        $res = $req->send(); + +        //all should be well +        $this->assertEquals(400, $res->getStatus()); +        //verify MIME content type +        $this->assertEquals( +            'text/xml; charset=utf-8', +            $res->getHeader('content-type') +        ); + +        //verify xml +        $this->assertTag( +            array( +                'tag'        => 'result', +                'attributes' => array('code' => 'Description missing') +            ), +            $res->getBody(), +            null, false +        ); + +        //user still has 0 bookmarks +        $data = $this->bs->getBookmarks(0, null, $uId); +        $this->assertEquals(0, $data['total']); +    }  }  if (PHPUnit_MAIN_METHOD == 'Api_PostsAddTest::main') {  | 
