request = $this->createMock(IRequest::class); $this->externalManager = $this->createMock(Manager::class); $this->clientService = $this->createMock(IClientService::class); $this->config = $this->createMock(IConfig::class); } /** * @return ExternalSharesController */ public function getExternalShareController() { return new ExternalSharesController( 'files_sharing', $this->request, $this->externalManager, $this->clientService, $this->config, ); } 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 { $this->externalManager ->expects($this->once()) ->method('acceptShare') ->with(4); $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->create(4)); } public function testDestroy(): void { $this->externalManager ->expects($this->once()) ->method('declineShare') ->with(4); $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->destroy(4)); } }