public function createPetitionInterval(UserPetition $userPetition, Group $petitionGroup, User $user, $expireInterval = self::EXPIRE_INTERVAL)
 {
     $currentDate = new \DateTime();
     $expireDate = clone $currentDate;
     $expireDate->add(new \DateInterval('P' . $expireInterval . 'D'));
     $userPetition->setPublishStatus(UserPetition::STATUS_USER);
     $userPetition->setUser($user);
     $userPetition->setGroup($petitionGroup);
     $userPetition->setCreatedAt($currentDate);
     $userPetition->setExpireAt($expireDate);
     $userPetition->setUserExpireInterval($expireInterval);
     return $userPetition;
 }
 /**
  * @group petition
  */
 public function testGetQuorumCount()
 {
     $petition = new Petition();
     $group = new Group();
     $petition->setGroup($group);
     $this->assertEquals(0, $petition->getQuorumCount());
     /* 10 users in a group */
     for ($i = 0; $i < 10; $i++) {
         $userGroup = new UserGroup(new User(), $group);
         $group->addUser($userGroup);
     }
     $this->assertEquals(1, $petition->getQuorumCount());
     $group->setPetitionPercent(30);
     $this->assertEquals(3, $petition->getQuorumCount());
     /* 112 users in a group (33 to quorum for 30%)*/
     for ($i = 0; $i < 102; $i++) {
         $userGroup = new UserGroup(new User(), $group);
         $group->addUser($userGroup);
     }
     $this->assertGreaterThan(33, $petition->getQuorumCount());
 }
 public function setGroup(\Civix\CoreBundle\Entity\Group $group = NULL)
 {
     $this->__load();
     return parent::setGroup($group);
 }