diff options
| author | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2010-09-26 22:10:54 +0000 | 
|---|---|---|
| committer | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2010-09-26 22:10:54 +0000 | 
| commit | 93e520165890a14ce8269b04303216458b98ad7e (patch) | |
| tree | 51415b225507e798300fa93d912fab2b2a1255b2 /tests | |
| parent | 5c65da5bffd8c464a8afb6fadbc3aa5549322880 (diff) | |
| download | semanticscuttle-93e520165890a14ce8269b04303216458b98ad7e.tar.gz semanticscuttle-93e520165890a14ce8269b04303216458b98ad7e.tar.bz2  | |
add some new tests
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@754 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/SearchHistoryTest.php | 178 | 
1 files changed, 127 insertions, 51 deletions
diff --git a/tests/SearchHistoryTest.php b/tests/SearchHistoryTest.php index 3716b37..f140063 100644 --- a/tests/SearchHistoryTest.php +++ b/tests/SearchHistoryTest.php @@ -55,63 +55,139 @@ class SearchHistoryTest extends TestBase +    /** +     * Set up all services +     * +     * @return void +     */      protected function setUp()      { -    $this->us =SemanticScuttle_Service_Factory::get('User'); -    $this->bs =SemanticScuttle_Service_Factory::get('Bookmark'); -    $this->bs->deleteAll(); -    $this->b2ts =SemanticScuttle_Service_Factory::get('Bookmark2Tag'); -    $this->b2ts->deleteAll(); -    $this->tts =SemanticScuttle_Service_Factory::get('Tag2Tag'); -    $this->tts->deleteAll(); -    $this->tsts =SemanticScuttle_Service_Factory::get('TagStat'); -    $this->tsts->deleteAll(); -    $this->shs =SemanticScuttle_Service_Factory::get('SearchHistory'); -    $this->shs->deleteAll(); +        $this->us = SemanticScuttle_Service_Factory::get('User'); +        $this->bs = SemanticScuttle_Service_Factory::get('Bookmark'); +        $this->bs->deleteAll(); + +        $this->b2ts =SemanticScuttle_Service_Factory::get('Bookmark2Tag'); +        $this->b2ts->deleteAll(); + +        $this->tts = SemanticScuttle_Service_Factory::get('Tag2Tag'); +        $this->tts->deleteAll(); + +        $this->tsts = SemanticScuttle_Service_Factory::get('TagStat'); +        $this->tsts->deleteAll(); + +        $this->shs = SemanticScuttle_Service_Factory::get('SearchHistory'); +        $this->shs->deleteAll(); +    } + +    /** +     * Tests if adding searches to the database works +     */ +    public function testAddSearch() +    { +        $this->assertEquals(0, $this->shs->countSearches()); + +        $this->assertTrue( +            $this->shs->addSearch('testsearchterm', 'all', 0) +        ); +        $this->assertEquals(1, $this->shs->countSearches()); +    } + +    /** +     * Tests if adding a search without terms should fail +     */ +    public function testAddSearchNoTerms() +    { +        $this->assertEquals(0, $this->shs->countSearches()); + +        $this->assertFalse( +            $this->shs->addSearch('', 'all', 0) +        ); +        $this->assertEquals(0, $this->shs->countSearches());      }      public function testSearchHistory()      { -    $shs = $this->shs; - -    $terms = 'bbqsdkbb;,:,:q;,qddds&é"\'\\\\\(-è_çà)'; -    $terms2 = '~#{|`]'; -    $range = 'all'; -    $nbResults = 10908; -    $uId = 10; - -    $shs->addSearch($terms, $range, $nbResults, $uId); -    $shs->addSearch($terms2, $range, $nbResults, $uId); -    $shs->addSearch('', $range, $nbResults, $uId);    // A void search must not be saved - -    $searches = $shs->getAllSearches(); -    $this->assertSame(2, count($searches)); -    $searches = $shs->getAllSearches($range, $uId); -    $this->assertEquals(2, count($searches)); -    $searches = $shs->getAllSearches($range, 20);  // fake userid -    $this->assertEquals(0, count($searches)); -    $searches = $shs->getAllSearches($range, $uId, 1); -    $this->assertEquals(1, count($searches)); -    $searches = $shs->getAllSearches($range, null, 1, 1); -    $this->assertEquals(1, count($searches)); - -    //test content of results -    $searches = $shs->getAllSearches(); -    $this->assertSame($terms2, $searches[0]['shTerms']); -    $this->assertSame($range, $searches[0]['shRange']); -    $this->assertEquals($nbResults, $searches[0]['shNbResults']); -    $this->assertEquals($uId, $searches[0]['uId']); -    $this->assertSame($terms, $searches[1]['shTerms']); -    $this->assertSame($range, $searches[1]['shRange']); -    $this->assertEquals($nbResults, $searches[1]['shNbResults']); -    $this->assertEquals($uId, $searches[1]['uId']); - -    //test distinct parameter -    $shs->addSearch($terms,  $range, $nbResults, 30); // we repeat a search (same terms) -    $searches = $shs->getAllSearches(); -    $this->assertSame(3, count($searches)); -    $searches = $shs->getAllSearches(NULL, NULL, NULL, NULL, true); -    $this->assertSame(2, count($searches)); +        $shs = $this->shs; + +        $terms = 'bbqsdkbb;,:,:q;,qddds&é"\'\\\\\(-è_çà)'; +        $terms2 = '~#{|`]'; +        $range = 'all'; +        $nbResults = 10908; +        $uId = 10; + +        $shs->addSearch($terms, $range, $nbResults, $uId); +        $shs->addSearch($terms2, $range, $nbResults, $uId); +        $shs->addSearch('', $range, $nbResults, $uId);    // A void search must not be saved + +        $searches = $shs->getAllSearches(); +        $this->assertSame(2, count($searches)); +        $searches = $shs->getAllSearches($range, $uId); +        $this->assertEquals(2, count($searches)); +        $searches = $shs->getAllSearches($range, 20);  // fake userid +        $this->assertEquals(0, count($searches)); +        $searches = $shs->getAllSearches($range, $uId, 1); +        $this->assertEquals(1, count($searches)); +        $searches = $shs->getAllSearches($range, null, 1, 1); +        $this->assertEquals(1, count($searches)); + +        //test content of results +        $searches = $shs->getAllSearches(); +        $this->assertSame($terms2, $searches[0]['shTerms']); +        $this->assertSame($range, $searches[0]['shRange']); +        $this->assertEquals($nbResults, $searches[0]['shNbResults']); +        $this->assertEquals($uId, $searches[0]['uId']); +        $this->assertSame($terms, $searches[1]['shTerms']); +        $this->assertSame($range, $searches[1]['shRange']); +        $this->assertEquals($nbResults, $searches[1]['shNbResults']); +        $this->assertEquals($uId, $searches[1]['uId']); + +        //test distinct parameter +        $shs->addSearch( +            $terms, $range, $nbResults, 30 +        ); // we repeat a search (same terms) +        $searches = $shs->getAllSearches(); +        $this->assertSame(3, count($searches)); +        $searches = $shs->getAllSearches(null, null, null, null, true); +        $this->assertSame(2, count($searches)); +    } + +    /** +     * Deleting the oldest search without any historical searches +     */ +    public function testDeleteOldestSearchNone() +    { +        $this->assertEquals(0, $this->shs->countSearches()); +        $this->assertTrue($this->shs->deleteOldestSearch()); +        $this->assertEquals(0, $this->shs->countSearches()); +    } + +    /** +     * Test deleting the oldest search +     */ +    public function testDeleteOldestSearchSome() +    { +        $this->assertEquals(0, $this->shs->countSearches()); +        $this->shs->addSearch('testsearchterm1', 'all', 0); +        $this->shs->addSearch('testsearchterm2', 'all', 0); + +        $rows = $this->shs->getAllSearches(); +        $this->assertEquals(2, count($rows)); + +        $highestId = -1; +        foreach ($rows as $row) { +            if ($row['shId'] > $highestId) { +                $highestId = $row['shId']; +            } +        } + +        $this->shs->deleteOldestSearch(); + +        $rows = $this->shs->getAllSearches(); +        $this->assertEquals(1, count($rows)); +        $this->assertEquals( +            $highestId, +            $rows[0]['shId'] +        );      }  }  | 
