Changeset 3874:ab8368569446 for tests/unit/inc/core/class.dc.core.php
- Timestamp:
- 09/14/18 12:16:17 (7 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/unit/inc/core/class.dc.core.php
r2999 r3874 15 15 use atoum; 16 16 17 require_once __DIR__ .'/../../bootstrap.php';18 $f = str_replace('\\', '/',__FILE__);19 require_once (str_replace('tests/unit/','',$f));17 require_once __DIR__ . '/../../bootstrap.php'; 18 $f = str_replace('\\', '/', __FILE__); 19 require_once str_replace('tests/unit/', '', $f); 20 20 21 21 class dcCore extends atoum … … 23 23 private $prefix = 'dc_'; 24 24 25 private function getConnection($driver) { 26 $controller = new \atoum\mock\controller(); 27 $controller->__construct = function() {}; 25 private function getConnection($driver) 26 { 27 $controller = new \atoum\mock\controller(); 28 $controller->__construct = function () {}; 28 29 29 $class_name = sprintf('\mock\%sConnection',$driver); 30 $con = new $class_name($driver,$controller); 31 $this->calling($con)->driver = $driver; 32 $this->calling($con)->escape = function($s) { // just for order, so don't care 30 $class_name = sprintf('\mock\%sConnection', $driver); 31 $con = new $class_name($driver, $controller); 32 $this->calling($con)->driver = $driver; 33 $this->calling($con)->escape = function ($s) { 34 // just for order, so don't care 33 35 return $s; 34 36 }; 35 $this->calling($con)->select = function($sql) {36 return new \staticRecord( array(),array());37 $this->calling($con)->select = function ($sql) { 38 return new \staticRecord([], []); 37 39 }; 38 40 39 40 41 return $con; 42 } 41 43 42 public function testGetUsers($driver) { 44 public function testGetUsers($driver) 45 { 43 46 $con = $this->getConnection($driver); 44 47 45 $controller = new \atoum\mock\controller();46 $controller->__construct = function () {};48 $controller = new \atoum\mock\controller(); 49 $controller->__construct = function () {}; 47 50 48 51 $query = 'SELECT U.user_id,user_super,user_status,user_pwd,user_change_pwd,user_name,user_firstname,user_displayname,user_email,user_url,user_desc, user_lang,user_tz, user_post_status,user_options, count(P.post_id) AS nb_post FROM user U LEFT JOIN post P ON U.user_id = P.user_id WHERE NULL IS NULL GROUP BY U.user_id,user_super,user_status,user_pwd,user_change_pwd,user_name,user_firstname,user_displayname,user_email,user_url,user_desc, user_lang,user_tz,user_post_status,user_options ORDER BY U.user_id ASC '; 49 52 50 $core = new \mock\dcCore(null,null,null,null,null,null,null,$controller);53 $core = new \mock\dcCore(null, null, null, null, null, null, null, $controller); 51 54 $core->con = $con; 52 55 $this 53 56 ->if($core->getUsers()) 54 57 ->then() 55 56 57 58 ->mock($con)->call('select') 59 ->withIdenticalArguments($query) 60 ->once(); 58 61 } 59 62 60 public function testGetUsersWithParams($driver,$params,$query) { 63 public function testGetUsersWithParams($driver, $params, $query) 64 { 61 65 $con = $this->getConnection($driver); 62 66 63 $controller = new \atoum\mock\controller();64 $controller->__construct = function () {};67 $controller = new \atoum\mock\controller(); 68 $controller->__construct = function () {}; 65 69 66 $core = new \mock\dcCore(null,null,null,null,null,null,null,$controller);70 $core = new \mock\dcCore(null, null, null, null, null, null, null, $controller); 67 71 $core->con = $con; 68 72 69 73 $this 70 74 ->if($core->getUsers($params)) 71 75 ->then() 72 73 74 76 ->mock($con)->call('select') 77 ->withIdenticalArguments($query) 78 ->once(); 75 79 } 76 80 77 81 /* 78 82 * DataProviders 79 **/ 80 protected function testGetUsersDataProvider() { 81 $query = array(); 83 **/ 84 protected function testGetUsersDataProvider() 85 { 86 $query = []; 82 87 83 return array(84 array('pgsql'),85 array('sqlite'),86 array('mysql'),87 array('mysqli'), 88 );88 return [ 89 ['pgsql'], 90 ['sqlite'], 91 ['mysql'], 92 ['mysqli'] 93 ]; 89 94 } 90 95 91 protected function testGetUsersWithParamsDataProvider() { 96 protected function testGetUsersWithParamsDataProvider() 97 { 92 98 $base_query = 'SELECT U.user_id,user_super,user_status,user_pwd,user_change_pwd,user_name,user_firstname,user_displayname,user_email,user_url,user_desc, user_lang,user_tz, user_post_status,user_options, count(P.post_id) AS nb_post FROM user U LEFT JOIN post P ON U.user_id = P.user_id WHERE NULL IS NULL GROUP BY U.user_id,user_super,user_status,user_pwd,user_change_pwd,user_name,user_firstname,user_displayname,user_email,user_url,user_desc, user_lang,user_tz,user_post_status,user_options ORDER BY '; 93 99 94 return array(95 array('pgsql',array('order' => 'user_id asc'),$base_query.'U.user_id asc '),96 array('pgsql',array('order' => 'U.user_id asc'),$base_query.'U.user_id asc '),97 array('mysql',array('order' => 'user_id asc'),$base_query.'U.user_id asc '),98 array('mysql',array('order' => 'U.user_id asc'),$base_query.'U.user_id asc '),99 array('mysqli',array('order' => 'user_id asc'),$base_query.'U.user_id asc '),100 array('mysqli',array('order' => 'U.user_id asc'),$base_query.'U.user_id asc '),101 array('sqlite',array('order' => 'user_id asc'),$base_query.'U.user_id asc '),102 array('sqlite',array('order' => 'U.user_id asc'),$base_query.'U.user_id asc '),100 return [ 101 ['pgsql', ['order' => 'user_id asc'], $base_query . 'U.user_id asc '], 102 ['pgsql', ['order' => 'U.user_id asc'], $base_query . 'U.user_id asc '], 103 ['mysql', ['order' => 'user_id asc'], $base_query . 'U.user_id asc '], 104 ['mysql', ['order' => 'U.user_id asc'], $base_query . 'U.user_id asc '], 105 ['mysqli', ['order' => 'user_id asc'], $base_query . 'U.user_id asc '], 106 ['mysqli', ['order' => 'U.user_id asc'], $base_query . 'U.user_id asc '], 107 ['sqlite', ['order' => 'user_id asc'], $base_query . 'U.user_id asc '], 108 ['sqlite', ['order' => 'U.user_id asc'], $base_query . 'U.user_id asc '], 103 109 104 array('pgsql',array('order' => 'nb_post desc'),$base_query.'P.nb_post desc '),105 array('pgsql',array('order' => 'P.nb_post desc'),$base_query.'P.nb_post desc '),106 array('mysql',array('order' => 'nb_post desc'),$base_query.'P.nb_post desc '),107 array('mysql',array('order' => 'P.nb_post desc'),$base_query.'P.nb_post desc '),108 array('mysqli',array('order' => 'nb_post desc'),$base_query.'P.nb_post desc '),109 array('mysqli',array('order' => 'P.nb_post desc'),$base_query.'P.nb_post desc '),110 array('sqlite',array('order' => 'nb_post desc'),$base_query.'P.nb_post desc '),111 array('sqlite',array('order' => 'P.nb_post desc'),$base_query.'P.nb_post desc '), 112 );110 ['pgsql', ['order' => 'nb_post desc'], $base_query . 'P.nb_post desc '], 111 ['pgsql', ['order' => 'P.nb_post desc'], $base_query . 'P.nb_post desc '], 112 ['mysql', ['order' => 'nb_post desc'], $base_query . 'P.nb_post desc '], 113 ['mysql', ['order' => 'P.nb_post desc'], $base_query . 'P.nb_post desc '], 114 ['mysqli', ['order' => 'nb_post desc'], $base_query . 'P.nb_post desc '], 115 ['mysqli', ['order' => 'P.nb_post desc'], $base_query . 'P.nb_post desc '], 116 ['sqlite', ['order' => 'nb_post desc'], $base_query . 'P.nb_post desc '], 117 ['sqlite', ['order' => 'P.nb_post desc'], $base_query . 'P.nb_post desc '] 118 ]; 113 119 } 114 120 }
Note: See TracChangeset
for help on using the changeset viewer.