/**
  * @param Event $event
  * @param boolean $talksOnly
  * @param DateTime $at
  *
  * @return number
  */
 public function getBaseCost(Event $event, User $user, DateTime $at, $talksOnly = true)
 {
     if (!$event->hasAttendeeRegistration()) {
         return 0;
     }
     $info = $event->getRegistrationInfo();
     $cost = $info->getTalksPrice();
     if (!$talksOnly) {
         $cost += $info->getWorkshopsPrice();
     }
     if ($variation = $this->getVariation($cost, $event, $user, $at)) {
         $cost += $variation;
     }
     return $cost;
 }
Beispiel #2
0
 /**
  * @test
  * @covers PHPSC\Conference\Domain\Entity\Event::__construct
  * @covers PHPSC\Conference\Domain\Entity\Event::setRegistrationInfo
  * @covers PHPSC\Conference\Domain\Entity\Event::getRegistrationInfo
  * @covers PHPSC\Conference\Domain\Entity\Event::hasAttendeeRegistration
  */
 public function hasAttendeeRegistrationShouldReturnTrueWhenRegistrationInfoIsntNull()
 {
     $event = new Event();
     $event->setRegistrationInfo($this->registrationInfo);
     $this->assertTrue($event->hasAttendeeRegistration());
 }