/** * @param Album $album * @return bool */ protected function shouldAlbumBeIncludedInResults(Album $album) { $ret = true; if ($this->roles) { $albumRoles = $album->getRoles(); foreach ($this->roles as $role) { if (!preg_match('/' . $role . '/i', $albumRoles)) { $ret = false; break; } } } return $ret; }
/** * DataProvider for shouldAlbumBeIncludedInResults * @return array */ public function dataProviderForShouldAlbumBeIncludedInResults() { $return = []; $album = Album::inflateFromArray([Album::ROLES => 'foo, bar']); $return[] = [[], $album, true]; $return[] = [['foo'], $album, true]; $return[] = [['foo', 'bar'], $album, true]; $return[] = [['foo', 'bar', 'baz'], $album, false]; $return[] = [['baz'], $album, false]; return $return; }