public function testDoesNotSendReservationCreatedRequiresApprovalEmailIfAdminWantsItButNotRequiresApproval() { $ownerId = 100; $resourceId = 200; $resource = new FakeBookableResource($resourceId, 'name'); $reservation = new TestReservationSeries(); $reservation->WithOwnerId($ownerId); $reservation->WithResource($resource); $reservation->SetStatusId(ReservationStatus::Created); $attributeRepo = $this->getMock('IAttributeRepository'); $userRepo = $this->getMock('IUserRepository'); $this->EnableNotifyFor(ConfigKeys::NOTIFY_APPROVAL_RESOURCE_ADMINS); $this->EnableNotifyFor(ConfigKeys::NOTIFY_APPROVAL_APPLICATION_ADMINS); $this->EnableNotifyFor(ConfigKeys::NOTIFY_APPROVAL_GROUP_ADMINS); $notification = new AdminEmailApprovalNotification($userRepo, $userRepo, $attributeRepo); $notification->Notify($reservation); $this->assertEquals(0, count($this->fakeEmailService->_Messages)); }