request = $this->createMock(IRequest::class); $this->externalManager = $this->createMock(Manager::class); } /** * @return ExternalSharesController */ public function getExternalShareController() { return new ExternalSharesController( 'files_sharing', $this->request, $this->externalManager, ); } public function testIndex(): void { $this->externalManager ->expects($this->once()) ->method('getOpenShares') ->willReturn(['MyDummyArray']); $this->assertEquals(new JSONResponse(['MyDummyArray']), $this->getExternalShareController()->index()); } public function testCreate(): void { $share = $this->createMock(ExternalShare::class); $this->externalManager ->expects($this->once()) ->method('getShare') ->with('4') ->willReturn($share); $this->externalManager ->expects($this->once()) ->method('acceptShare') ->with($share); $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->create('4')); } public function testDestroy(): void { $share = $this->createMock(ExternalShare::class); $this->externalManager ->expects($this->once()) ->method('getShare') ->with('4') ->willReturn($share); $this->externalManager ->expects($this->once()) ->method('declineShare') ->with($share); $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->destroy('4')); } }