public function testWhenUserIdIsForAnotherUser()
 {
     $userId = 9999;
     $user = new User();
     $user->WithId($userId);
     $this->server->SetQueryString(WebServiceQueryStringKeys::USER_ID, $userId);
     $this->reservationViewRepository->expects($this->once())->method('GetReservationList')->with($this->anything(), $this->anything(), $this->equalTo($userId))->will($this->returnValue(array()));
     $this->service->GetReservations();
 }
Example #2
0
 /**
  * @param User $user
  * @return int
  */
 public function Add(User $user)
 {
     $db = ServiceLocator::GetDatabase();
     $id = $db->ExecuteInsert(new RegisterUserCommand($user->Username(), $user->EmailAddress(), $user->FirstName(), $user->LastName(), $user->encryptedPassword, $user->passwordSalt, $user->Timezone(), $user->Language(), $user->Homepage(), $user->GetAttribute(UserAttribute::Phone), $user->GetAttribute(UserAttribute::Organization), $user->GetAttribute(UserAttribute::Position), $user->StatusId(), $user->GetPublicId(), $user->GetDefaultScheduleId()));
     $user->WithId($id);
     if (Configuration::Instance()->GetKey(ConfigKeys::REGISTRATION_NOTIFY, new BooleanConverter())) {
         ServiceLocator::GetEmailService()->Send(new AccountCreationEmail($user));
     }
     foreach ($user->GetAddedAttributes() as $added) {
         $db->Execute(new AddAttributeValueCommand($added->AttributeId, $added->Value, $user->Id(), CustomAttributeCategory::USER));
     }
     $addedPreferences = $user->GetAddedEmailPreferences();
     foreach ($addedPreferences as $event) {
         $db->Execute(new AddEmailPreferenceCommand($id, $event->EventCategory(), $event->EventType()));
     }
     $userGroups = $user->Groups();
     if (!empty($userGroups)) {
         foreach ($userGroups as $group) {
             $db->Execute(new AddUserGroupCommand($id, $group->GroupId));
         }
     }
     return $id;
 }
 public function testChangesEmailPreferences()
 {
     $id = 123;
     $user = new User();
     $user->WithId($id);
     $emailPreferences = new EmailPreferences();
     $emailPreferences->Add(EventCategory::Reservation, ReservationEvent::Updated);
     $user->WithEmailPreferences($emailPreferences);
     $user->ChangeEmailPreference(new ReservationUpdatedEvent(), false);
     $user->ChangeEmailPreference(new ReservationCreatedEvent(), false);
     $user->ChangeEmailPreference(new ReservationApprovedEvent(), true);
     $repo = new UserRepository();
     $repo->Update($user);
     $addEmailPreferenceCommand = new AddEmailPreferenceCommand($id, EventCategory::Reservation, ReservationEvent::Approved);
     $removeEmailPreferenceCommand = new DeleteEmailPreferenceCommand($id, EventCategory::Reservation, ReservationEvent::Updated);
     $this->assertTrue($this->db->ContainsCommand($addEmailPreferenceCommand));
     $this->assertTrue($this->db->ContainsCommand($removeEmailPreferenceCommand));
 }