From: Raphaël Barrois Date: Wed, 28 Apr 2010 21:24:16 +0000 (+0200) Subject: Add partial tests for UFC_Name X-Git-Tag: xorg/1.0.0~276 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=b5a9f12aebcbac7c22bc471563d0874cd79871c0;p=platal.git Add partial tests for UFC_Name Signed-off-by: Raphaël Barrois --- diff --git a/ut/userfiltertest.php b/ut/userfiltertest.php index a233c92..89a4c83 100644 --- a/ut/userfiltertest.php +++ b/ut/userfiltertest.php @@ -284,7 +284,7 @@ class UserFilterTest extends PlTestCase $id_FieldDroit = XDB::fetchOneCell('SELECT id FROM profile_education_field_enum WHERE field = {?}', 'Droit'); - // FIXME: Replaces 0 by -1 in following queries when profile_education will be filled with fieldids + // FIXME: Replace 0 by -1 in following queries when profile_education will be filled with fieldids $tests[] = array( array(XDB::format('SELECT DISTINCT ap.uid FROM account_profiles AS ap @@ -300,6 +300,64 @@ class UserFilterTest extends PlTestCase new UFC_EducationField($id_FieldInfo, $id_FieldDroit), 0), // FIXME: should be -1 ); + /* UFC_Name + */ + $id_Lastname = DirEnum::getID(DirEnum::NAMETYPES, Profile::LASTNAME); + $id_Firstname = DirEnum::getID(DirEnum::NAMETYPES, Profile::FIRSTNAME); + $tests[] = array( + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE {?} AND pn.typeid = {?}', 'BARROIS', $id_Lastname), + new UFC_Name(Profile::LASTNAME, 'BARROIS', UFC_Name::EXACT), -1), + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE \'BARR%\' AND pn.typeid = {?}', $id_Lastname), + new UFC_Name(Profile::LASTNAME, 'BARR', UFC_Name::PREFIX), -1), + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE \'%OIS\' AND pn.typeid = {?}', $id_Lastname), + new UFC_Name(Profile::LASTNAME, 'OIS', UFC_Name::SUFFIX), -1), + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE \'%ARRO%\' AND pn.typeid = {?}', $id_Lastname), + new UFC_Name(Profile::LASTNAME, 'ARRO', UFC_Name::CONTAINS), -1), + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE \'%ZZZZZZ%\' AND pn.typeid = {?}', $id_Lastname), + new UFC_Name(Profile::LASTNAME, 'ZZZZZZ', UFC_Name::CONTAINS), 0), + + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE {?} AND pn.typeid = {?}', 'Raphaël', $id_Firstname), + new UFC_Name(Profile::FIRSTNAME, 'Raphaël', UFC_Name::EXACT), -1), + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE \'Raph%\' AND pn.typeid = {?}', $id_Firstname), + new UFC_Name(Profile::FIRSTNAME, 'Raph', UFC_Name::PREFIX), -1), + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE \'%aël\' AND pn.typeid = {?}', $id_Firstname), + new UFC_Name(Profile::FIRSTNAME, 'aël', UFC_Name::SUFFIX), -1), + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE \'%apha%\' AND pn.typeid = {?}', $id_Firstname), + new UFC_Name(Profile::FIRSTNAME, 'apha', UFC_Name::CONTAINS), -1), + array(XDB::format('SELECT DISTINCT ap.uid + FROM account_profiles AS ap + LEFT JOIN profile_name AS pn ON (ap.pid = pn.pid AND FIND_IN_SET(\'owner\', ap.perms)) + WHERE pn.name LIKE \'%zzzzzz%\' AND pn.typeid = {?}', $id_Firstname), + new UFC_Name(Profile::FIRSTNAME, 'zzzzzz', UFC_Name::CONTAINS), 0), + ); + $testcases = array(); foreach ($tests as $t) { $testcases = array_merge($testcases, $t);