appState = $this->createMock(AppState::class); $this->localeResolver = $this->getMockForAbstractClass( LocaleResolver::class, ['setLocale'], '', false ); $this->resourceConnection = $this->createMock(ResourceConnection::class); $this->logger = $this->getMockForAbstractClass( LoggerInterface::class, ['notice', 'info'], '', false ); $this->deployPackageService = $this->createPartialMock(DeployPackage::class, ['deploy']); $this->queue = new Queue( $this->appState, $this->localeResolver, $this->resourceConnection, $this->logger, $this->deployPackageService, [], 1 ); } /** * @see Queue:add() */ public function testAdd() { $package = $this->createMock(Package::class); $package->expects($this->once())->method('getPath')->willReturn('path'); $this->assertEquals(true, $this->queue->add($package)); $packages = $this->queue->getPackages(); $this->assertEquals( $package, isset($packages['path']['package']) ? $packages['path']['package'] : null ); } /** * @see Queue::process() */ public function testProcess() { $package = $this->createMock(Package::class); $package->expects($this->any())->method('getState')->willReturn(0); $package->expects($this->exactly(2))->method('getParent')->willReturn(true); $package->expects($this->any())->method('getArea')->willReturn('area'); $package->expects($this->any())->method('getPath')->willReturn('path'); $package->expects($this->any())->method('getFiles')->willReturn([]); $this->appState->expects($this->once())->method('emulateAreaCode'); $this->queue->add($package, []); $this->resourceConnection->expects(self::never())->method('closeConnection'); $this->assertEquals(0, $this->queue->process()); } }