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); }