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()); }
/** * @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); }