public function testUpdateWithNotEqualTypes() { $libInstaller = $this->createInstallerMock(); $bundleInstaller = $this->createInstallerMock(); $manager = new InstallationManager(); $manager->addInstaller($libInstaller); $manager->addInstaller($bundleInstaller); $initial = $this->createPackageMock(); $target = $this->createPackageMock(); $operation = new UpdateOperation($initial, $target, 'test'); $initial->expects($this->once())->method('getType')->will($this->returnValue('library')); $target->expects($this->once())->method('getType')->will($this->returnValue('bundles')); $bundleInstaller->expects($this->exactly(2))->method('supports')->will($this->returnCallback(function ($arg) { return $arg === 'bundles'; })); $libInstaller->expects($this->once())->method('supports')->with('library')->will($this->returnValue(true)); $libInstaller->expects($this->once())->method('uninstall')->with($this->repository, $initial); $bundleInstaller->expects($this->once())->method('install')->with($this->repository, $target); $manager->update($this->repository, $operation); }
/** * {@inheritDoc} */ public function update(RepositoryInterface $repo, UpdateOperation $operation) { $this->packageInformation->set($this->packageInformation->escape($operation->getInitialPackage()->getPrettyName()), ['type' => 'update', 'reason' => $this->getReason($operation), 'package' => $this->dumper->dump($operation->getInitialPackage()), 'target' => $this->dumper->dump($operation->getTargetPackage())]); parent::update($repo, $operation); }