Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function vote($parameter = null, $user = null, array $additional = [])
 {
     if (empty($parameter)) {
         return false;
     }
     $language = new ExpressionLanguage();
     if (!array_key_exists('user', $additional)) {
         $additional['user'] = $user;
     }
     return FeatureJudge::isTrue($language->evaluate($parameter, $additional));
 }
Ejemplo n.º 2
0
 /**
  * @dataProvider featureWithMultipleRulesAndAFilterProvider
  *
  * @param $expected
  * @param $voterOneResult
  * @param $voterTwoResult
  */
 public function testFeatureWithMultipleRulesAndAFilter($expected, $voterOneResult, $voterTwoResult)
 {
     $voterOneMock = \Mockery::mock('jlis\\Judge\\Contracts\\VoterInterface');
     $voterTwoMock = clone $voterOneMock;
     /* @noinspection PhpMethodParametersCountMismatchInspection */
     $voterOneMock->shouldReceive('vote')->once()->andReturn($voterOneResult);
     /* @noinspection PhpMethodParametersCountMismatchInspection */
     $voterTwoMock->shouldReceive('vote')->once()->andReturn($voterTwoResult);
     $adapter = $this->getAdapter(['existingFeature' => [['value' => true, 'filters' => ['voter_one']], ['value' => true, 'filters' => ['voter_two']]]]);
     $judge = new FeatureJudge($adapter, array('voter_one' => $voterOneMock, 'voter_two' => $voterTwoMock));
     static::assertEquals($expected, $judge->decide('existingFeature'));
 }