/**
  * Test the listener with preset fq-parameters
  * if the conditional filter is granted
  *
  * @return void
  */
 public function testConditionalFilterWithFQ()
 {
     $params = new ParamBag(['fq' => ['fulltext:Vufind', 'field2:novalue']]);
     $listener = new InjectConditionalFilterListener(self::$searchConfig);
     $mockAuth = $this->getMockBuilder('ZfcRbac\\Service\\AuthorizationService')->disableOriginalConstructor()->getMock();
     $mockAuth->expects($this->any())->method('isGranted')->with($this->equalTo('conditionalFilter.sample'))->will($this->returnValue(true));
     $listener->setAuthorizationService($mockAuth);
     $event = new Event('pre', $this->backend, ['params' => $params]);
     $listener->onSearchPre($event);
     $fq = $params->get('fq');
     $this->assertEquals([0 => 'fulltext:Vufind', 1 => 'field2:novalue', 2 => 'institution:"MyInst"'], $fq);
 }
 /**
  * Get a Conditional Filter Listener
  *
  * @param Config $search Search configuration
  *
  * @return InjectConditionalFilterListener
  */
 protected function getInjectConditionalFilterListener(Config $search)
 {
     $listener = new InjectConditionalFilterListener($search->ConditionalHiddenFilters->toArray());
     $listener->setAuthorizationService($this->serviceLocator->get('ZfcRbac\\Service\\AuthorizationService'));
     return $listener;
 }