示例#1
0
 public function testValidateNoLogWrongBadge()
 {
     $badge = new Badge();
     $badge->setId(rand(PHP_INT_MAX / 2 + 1, PHP_INT_MAX));
     $rule = new BadgeRule();
     $rule->setBadge($badge);
     $log = new Log();
     $log->setDetails(array('badge' => array('id' => rand(0, PHP_INT_MAX / 2))));
     $badgeConstraint = new BadgeConstraint();
     $badgeConstraint->setRule($rule)->setAssociatedLogs(array($log));
     $this->assertFalse($badgeConstraint->validate());
 }
示例#2
0
 public function validateWithTwoRuleProvider()
 {
     $badge = new Badge();
     $user = new User();
     $action = uniqid();
     $action2 = uniqid();
     $log = new Log();
     $rule = new BadgeRule();
     $rule->setAction($action)->setUserType(0);
     $rule2 = new BadgeRule();
     $rule2->setAction($action2)->setUserType(0);
     $badge->setRules(array($rule, $rule2));
     $validateRule = array('validRules' => 0, 'rules' => array());
     $validateRule2 = array('validRules' => 1, 'rules' => array(array('rule' => $rule, 'logs' => array($log))));
     $validateRule3 = array('validRules' => 1, 'rules' => array(array('rule' => $rule2, 'logs' => array($log))));
     $validateRule4 = array('validRules' => 2, 'rules' => array(array('rule' => $rule, 'logs' => array($log)), array('rule' => $rule2, 'logs' => array($log))));
     return array(array($badge, $user, $action, $action2, array(), array(), $validateRule), array($badge, $user, $action, $action2, array($log), array(), $validateRule2), array($badge, $user, $action, $action2, array(), array($log), $validateRule3), array($badge, $user, $action, $action2, array($log), array($log), $validateRule4));
 }