Changeset 3701 for trunk/tests/Query

Show
Ignore:
Timestamp:
02/03/08 21:29:57 (11 months ago)
Author:
romanb
Message:

Merged r3518:r3700 from branch to trunk. Branch to be deleted, soon. Development continues in trunk.

Location:
trunk/tests/Query
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • trunk/tests/Query/AggregateValueTestCase.php

    r3360 r3701  
    3333class Doctrine_Query_AggregateValue_TestCase extends Doctrine_UnitTestCase  
    3434{ 
    35     public function prepareData()  
    36     {  
    37     } 
     35    public function prepareTables() { 
     36        $this->tables = array('User', 'Phonenumber', 'QueryTest_Item'); 
     37        parent::prepareTables(); 
     38    } 
     39     
     40    public function prepareData() {} 
     41     
    3842    public function testInitData()  
    3943    { 
  • trunk/tests/Query/DeleteTestCase.php

    r2359 r3701  
    5454        $q->parseQuery('DELETE FROM Entity'); 
    5555 
    56         $this->assertEqual($q->getQuery(), 'DELETE FROM entity'); 
     56        $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE (type = 2 OR type = 1 OR type = 0)'); 
    5757         
    5858        $q = new Doctrine_Query(); 
     
    6060        $q->delete()->from('Entity'); 
    6161         
    62         $this->assertEqual($q->getQuery(), 'DELETE FROM entity'); 
     62        $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE (type = 2 OR type = 1 OR type = 0)'); 
    6363    } 
    6464    public function testDeleteWithCondition()  
     
    6868        $q->parseQuery('DELETE FROM Entity WHERE id = 3'); 
    6969 
    70         $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE id = 3'); 
     70        $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE id = 3 AND (type = 2 OR type = 1 OR type = 0)'); 
    7171         
    7272        $q = new Doctrine_Query(); 
     
    7474        $q->delete()->from('Entity')->where('id = 3'); 
    7575         
    76         $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE id = 3'); 
     76        $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE id = 3 AND (type = 2 OR type = 1 OR type = 0)'); 
    7777    } 
    7878    public function testDeleteWithLimit()  
     
    8282        $q->parseQuery('DELETE FROM Entity LIMIT 20'); 
    8383 
    84         $this->assertEqual($q->getQuery(), 'DELETE FROM entity LIMIT 20'); 
     84        $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE (type = 2 OR type = 1 OR type = 0) LIMIT 20'); 
    8585         
    8686        $q = new Doctrine_Query(); 
     
    8888        $q->delete()->from('Entity')->limit(20); 
    8989         
    90         $this->assertEqual($q->getQuery(), 'DELETE FROM entity LIMIT 20'); 
     90        $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE (type = 2 OR type = 1 OR type = 0) LIMIT 20'); 
    9191    } 
    9292    public function testDeleteWithLimitAndOffset()  
     
    9696        $q->parseQuery('DELETE FROM Entity LIMIT 10 OFFSET 20'); 
    9797 
    98         $this->assertEqual($q->getQuery(), 'DELETE FROM entity LIMIT 10 OFFSET 20'); 
     98        $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE (type = 2 OR type = 1 OR type = 0) LIMIT 10 OFFSET 20'); 
    9999 
    100100        $q = new Doctrine_Query(); 
     
    102102        $q->delete()->from('Entity')->limit(10)->offset(20); 
    103103         
    104         $this->assertEqual($q->getQuery(), 'DELETE FROM entity LIMIT 10 OFFSET 20'); 
     104        $this->assertEqual($q->getQuery(), 'DELETE FROM entity WHERE (type = 2 OR type = 1 OR type = 0) LIMIT 10 OFFSET 20'); 
    105105    } 
    106106} 
  • trunk/tests/Query/JoinCondition2TestCase.php

    r3517 r3701  
    3535    public function prepareTables() 
    3636    { 
    37         $this->tables[] = 'Entity'; 
    38         $this->tables[] = 'User'; 
    39         $this->tables[] = 'GroupUser'; 
    40         $this->tables[] = 'Group'; 
     37        $this->tables = array('User', 'Groupuser'); 
    4138        parent::prepareTables(); 
    4239    } 
     
    4542    public function prepareData() 
    4643    { 
    47         parent::prepareData(); 
    48  
     44        $this->conn->getMapper('User')->clear(); 
     45        $this->conn->getMapper('Group')->clear(); 
     46        $this->conn->getMapper('Groupuser')->clear(); 
     47         
     48        $zYne = new User(); 
     49        $zYne->name = 'zYne'; 
     50        $zYne->save(); 
     51         
    4952        $groups = new Doctrine_Collection('Group'); 
    50  
    5153        $groups[0]->name = 'PHP Users'; 
    52  
    5354        $groups[1]->name = 'Developers'; 
    54  
    55         $groups->save(); 
    56  
    57         $zYne = Doctrine_Query::create()->from('User u')->where('u.name = ?', 'zYne')->fetchOne(); 
    58         $zYne->Group[0] = $groups[0]; 
    59         $zYne->Group[1] = $groups[1]; 
     55        //$groups->save(); 
     56         
     57        $zYne->Group = $groups; 
    6058        $zYne->save(); 
     59         
     60        /*$q = new Doctrine_Query($this->connection); 
     61        $q->select('g.*')->from('Groupuser g'); 
     62        //echo $q->getSql(); 
     63        var_dump($q->execute(array(), Doctrine::HYDRATE_ARRAY)); 
     64        echo "<br /><br />";*/ 
     65         
     66        //$q = new Doctrine_Query($this->connection); 
     67        //$q->select('u.id, g.id')->from('User u')->leftJoin('u.Group g')->where('u.name = ?', 'zYne'); 
     68        //var_dump($q->execute(array(), Doctrine::HYDRATE_ARRAY)); 
    6169    } 
    6270 
  • trunk/tests/Query/JoinTestCase.php

    r2397 r3701  
    140140        $q->select('e.name')->from('Entity e INNER JOIN e.Entity e2'); 
    141141 
    142         $this->assertEqual($q->getQuery(), 'SELECT e.id AS e__id, e.name AS e__name FROM entity e INNER JOIN entity_reference e3 ON e.id = e3.entity1 OR e.id = e3.entity2 INNER JOIN entity e2 ON (e2.id = e3.entity2 OR e2.id = e3.entity1) AND e2.id != e.id'); 
     142        $this->assertEqual($q->getQuery(), 'SELECT e.id AS e__id, e.name AS e__name FROM entity e INNER JOIN entity_reference e3 ON e.id = e3.entity1 OR e.id = e3.entity2 INNER JOIN entity e2 ON (e2.id = e3.entity2 OR e2.id = e3.entity1) AND e2.id != e.id WHERE (e.type = 2 AND (e2.type = 2 OR e2.type IS NULL))'); 
    143143    } 
    144144 
  • trunk/tests/Query/MultipleAggregateValueTestCase.php

    r2388 r3701  
    3434class Doctrine_Query_MultipleAggregateValue_TestCase extends Doctrine_UnitTestCase  
    3535{ 
     36    public function prepareTables() 
     37    { 
     38        $this->tables = array('User', 'Email', 'Album', 'Book'); 
     39        parent::prepareTables(); 
     40    } 
     41     
    3642    public function prepareData()  
    37     { } 
    38     public function testInitData() 
    3943    { 
    4044        $user = new User(); 
     
    5862        $query->where("u.name = 'jon'"); 
    5963        $query->limit(1); 
    60          
     64 
    6165        $user = $query->execute()->getFirst(); 
    6266         
     
    7276        $this->assertEqual($num_books, 2); 
    7377    } 
     78     
    7479    public function testMultipleAggregateValuesWithArrayFetching() 
    7580    { 
  • trunk/tests/Query/SelectTestCase.php

    r2490 r3701  
    3333class Doctrine_Query_Select_TestCase extends Doctrine_UnitTestCase 
    3434{ 
    35     /** 
     35    public function prepareTables() { 
     36        $this->tables = array('Email', 'Phonenumber', 'Entity', 'Groupuser'); 
     37        parent::prepareTables(); 
     38    } 
     39     
     40    public function prepareData() { 
     41         
     42        $groups = new Doctrine_Collection('Group'); 
     43        $groups[0]->name = 'Drama Actors'; 
     44        $groups[1]->name = 'Quality Actors'; 
     45        $groups[2]->name = 'Action Actors'; 
     46        $groups[2]['Phonenumber'][0]->phonenumber = '123 123'; 
     47        $groups->save(); 
     48 
     49        $users = new Doctrine_Collection('User'); 
     50 
     51        $users[0]->name = 'zYne'; 
     52        $users[0]['Email']->address = 'zYne@example.com'; 
     53        $users[0]['Phonenumber'][0]->phonenumber = '123 123'; 
     54 
     55        $users[1]->name = 'Arnold Schwarzenegger'; 
     56        $users[1]->Email->address = 'arnold@example.com'; 
     57        $users[1]['Phonenumber'][0]->phonenumber = '123 123'; 
     58        $users[1]['Phonenumber'][1]->phonenumber = '456 456'; 
     59        $users[1]->Phonenumber[2]->phonenumber = '789 789'; 
     60        $users[1]->Group[0] = $groups[2]; 
     61 
     62        $users[2]->name = 'Michael Caine'; 
     63        $users[2]->Email->address = 'caine@example.com'; 
     64        $users[2]->Phonenumber[0]->phonenumber = '123 123'; 
     65 
     66        $users[3]->name = 'Takeshi Kitano'; 
     67        $users[3]->Email->address = 'kitano@example.com'; 
     68        $users[3]->Phonenumber[0]->phonenumber = '111 222 333'; 
     69 
     70        $users[4]->name = 'Sylvester Stallone'; 
     71        $users[4]->Email->address = 'stallone@example.com'; 
     72        $users[4]->Phonenumber[0]->phonenumber = '111 555 333'; 
     73        $users[4]['Phonenumber'][1]->phonenumber = '123 213'; 
     74        $users[4]['Phonenumber'][2]->phonenumber = '444 555'; 
     75 
     76        $users[5]->name = 'Kurt Russell'; 
     77        $users[5]->Email->address = 'russell@example.com'; 
     78        $users[5]->Phonenumber[0]->phonenumber = '111 222 333'; 
     79 
     80        $users[6]->name = 'Jean Reno'; 
     81        $users[6]->Email->address = 'reno@example.com'; 
     82        $users[6]->Phonenumber[0]->phonenumber = '111 222 333'; 
     83        $users[6]['Phonenumber'][1]->phonenumber = '222 123'; 
     84        $users[6]['Phonenumber'][2]->phonenumber = '123 456'; 
     85 
     86        $users[7]->name = 'Edward Furlong'; 
     87        $users[7]->Email->address = 'furlong@example.com'; 
     88        $users[7]->Phonenumber[0]->phonenumber = '111 567 333'; 
     89 
     90        $users->save(); 
     91    } 
     92     
     93    /* 
    3694    public function testParseSelect() 
    3795    { 
     
    135193        } 
    136194    } 
    137  
     195    /* 
    138196    public function testAggregateFunctionValueHydration() 
    139197    { 
     
    160218        $this->assertEqual($q->getQuery(), 'SELECT e.id AS e__id, e.name AS e__name, e.loginname AS e__loginname, e.password AS e__password, e.type AS e__type, e.created AS e__created, e.updated AS e__updated, e.email_id AS e__email_id FROM entity e WHERE (e.type = 0)'); 
    161219    } 
     220     
    162221    public function testSingleComponentWithMultipleColumns() 
    163222    { 
     
    168227        $this->assertEqual($q->getQuery(), 'SELECT e.id AS e__id, e.name AS e__name, e.type AS e__type FROM entity e WHERE (e.type = 0)'); 
    169228    } 
     229     
    170230    public function testMultipleComponentsWithAsterisk() 
    171231    { 
     
    176236        $this->assertEqual($q->getQuery(),'SELECT e.id AS e__id, e.name AS e__name, e.loginname AS e__loginname, e.password AS e__password, e.type AS e__type, e.created AS e__created, e.updated AS e__updated, e.email_id AS e__email_id, p.id AS p__id, p.phonenumber AS p__phonenumber, p.entity_id AS p__entity_id FROM entity e LEFT JOIN phonenumber p ON e.id = p.entity_id WHERE (e.type = 0)'); 
    177237    } 
     238     
    178239    public function testMultipleComponentsWithMultipleColumns() 
    179240    { 
     
    184245        $this->assertEqual($q->getQuery(),'SELECT e.id AS e__id, e.name AS e__name, p.id AS p__id FROM entity e LEFT JOIN phonenumber p ON e.id = p.entity_id WHERE (e.type = 0)'); 
    185246    } 
     247     
    186248    public function testAggregateFunctionValueHydrationWithAliases() 
    187249    { 
     
    199261        $this->assertEqual($users[4]->Phonenumber[0]->count, 3); 
    200262    } 
     263     
    201264    public function testMultipleAggregateFunctionValueHydrationWithAliases() 
    202265    { 
     
    218281        $this->assertEqual($users[4]->Phonenumber[0]->max, '444 555'); 
    219282    } 
     283     
    220284    public function testMultipleAggregateFunctionValueHydrationWithAliasesAndCleanRecords() 
    221285    { 
     
    243307        $this->assertEqual($users[3]->Phonenumber[0]->max, '111 222 333'); 
    244308        $this->assertEqual($users[4]->Phonenumber[0]->max, '444 555'); 
    245     } 
     309    }*/ 
    246310 
    247311} 
  • trunk/tests/Query/WhereTestCase.php

    r3029 r3701  
    3838    public function prepareTables()  
    3939    { 
    40         $this->tables = array('Entity', 'EnumTest', 'GroupUser', 'Account', 'Book'); 
     40        $this->tables = array('Entity', 'EnumTest', 'Groupuser', 'Account', 'Book'); 
    4141        parent::prepareTables(); 
    4242    }