public function testMoreAdvancedSearch()
 {
     $this->truncateDB();
     $john = self::$f->createUser('*****@*****.**', 'John', '');
     $john->meta()->setByArray(array('gender' => 'Male', 'school' => 'Kenna', 'grade' => 19));
     self::$f->update($john);
     $jenny = self::$f->createUser('*****@*****.**', 'jenny', '');
     $jenny->meta()->setByArray(array('gender' => 'Female', 'school' => 'Jenna', 'grade' => 18));
     self::$f->update($jenny);
     $axel = self::$f->createUser('*****@*****.**', 'jenny', '');
     $axel->meta()->setByArray(array('gender' => 'Male', 'school' => 'Kenna', 'grade' => 18));
     self::$f->update($axel);
     $sven = self::$f->createUser('*****@*****.**', 'jenny', '');
     $sven->meta()->setByArray(array('gender' => 'Male', 'school' => 'Benna', 'grade' => 12));
     self::$f->update($sven);
     $this->assertEquals(4, self::$f->metaSearch(array())->getNumMatching());
     $this->assertEquals(1, self::$f->metaSearch(array('grade<' => 18))->getNumMatching());
     $query = array('school' => '*enn*', array('AND' => array('gender' => array('Male', 'Female'))), array('AND' => array('grade>' => 17)));
     $this->assertEquals(3, self::$f->metaSearch($query)->getNumMatching());
     $query = array('school' => '*enn*', array('AND' => array('gender' => 'Female')), array('AND' => array('grade>' => 17)));
     $this->assertEquals(1, self::$f->metaSearch($query)->getNumMatching());
 }
Esempio n. 2
0
 /**
  * @param ObjectInterface $user
  * @param \Rocker\Object\User\UserFactory $factory
  * @param array $userFiles
  * @param \Rocker\Utils\FileStorage\StorageInterface $storage
  */
 protected static function deleteAllFiles(ObjectInterface $user, UserFactory $factory, $userFiles, $storage)
 {
     foreach ($userFiles as $f) {
         if (!empty($f['versions'])) {
             $storage->removeVersions($f['name'], $f['versions']);
         }
         $storage->removeFile($f['name']);
     }
     $user->meta()->delete('files');
     $factory->update($user);
 }