Beispiel #1
0
 function it_should_always_return_true_for_one_hundered_percent(Feature $feature, Context $context)
 {
     $this->beConstructedWith(100);
     foreach (array(0, 10, 50, 99, 100) as $id) {
         $context->resolveArgument(Argument::any())->willReturn(new UserIdentifier($id));
         $this->isActive($feature, $context)->shouldReturn(true);
     }
 }
Beispiel #2
0
 /**
  * {@inheritdoc}
  */
 public function isActive(Feature $feature, Context $context)
 {
     $arg = $context->resolveArgument($this);
     foreach ($this->supportedEnvironments as $environment) {
         if ($environment->isEqualTo($arg)) {
             return true;
         }
     }
     return false;
 }
Beispiel #3
0
 /**
  * {@inheritdoc}
  */
 public function isActive(Feature $feature, Context $context)
 {
     $arg = $context->resolveArgument($this);
     foreach ($this->supportedUserIdentifiers as $userIdentifier) {
         if ($userIdentifier->isEqualTo($arg)) {
             return true;
         }
     }
     return false;
 }
Beispiel #4
0
 /**
  * {@inheritdoc}
  */
 public function isActive(Feature $feature, Context $context)
 {
     $arg = $context->resolveArgument($this);
     return abs(crc32((string) $arg->getValue()) % 100) < $this->percentage;
 }
Beispiel #5
0
 function it_is_not_active_for_users_who_doesnt_belong_to_feature(Feature $feature, Context $context)
 {
     $identifier = new UserIdentifier('*****@*****.**');
     $context->resolveArgument(Argument::any())->willReturn($identifier);
     $this->isActive($feature, $context)->shouldReturn(false);
 }
Beispiel #6
0
 function it_is_not_active_when_context_environment_argument_is_different(Feature $feature, Context $context)
 {
     $identifier = new Environment('local');
     $context->resolveArgument(Argument::any())->willReturn($identifier);
     $this->isActive($feature, $context)->shouldReturn(false);
 }