/** * @test */ public function removeVoteFromObjectStorageHoldingVotes() { $vote = new \Visol\EasyvoteEducation\Domain\Model\Vote(); $votesObjectStorageMock = $this->getMock('TYPO3\\CMS\\Extbase\\Persistence\\ObjectStorage', array('detach'), array(), '', FALSE); $votesObjectStorageMock->expects($this->once())->method('detach')->with($this->equalTo($vote)); $this->inject($this->subject, 'votes', $votesObjectStorageMock); $this->subject->removeVote($vote); }
/** * Delete a voting option * * @param \Visol\EasyvoteEducation\Domain\Model\VotingOption $votingOption * @ignorevalidation $votingOption * @return string */ public function deleteAction(\Visol\EasyvoteEducation\Domain\Model\VotingOption $votingOption) { if ($this->isCurrentUserOwnerOfPanel($votingOption->getVoting()->getPanel())) { $this->votingOptionRepository->remove($votingOption); $this->persistenceManager->persistAll(); return json_encode(array('removeElement' => TRUE)); } else { // Error: Non-owner tries to delete a voting option $reason = LocalizationUtility::translate('ajax.status.403', 'easyvote_education'); $reason .= '<br />VotingOptionController/deleteAction'; return json_encode(array('status' => 403, 'reason' => $reason)); } }