/** * {@inheritdoc} */ protected function getConnectors(array $entities) { $dictionaryConnectors = $this->typeRegistry->getRegisteredConnectorsTypes(ChannelType::TYPE, function (ConnectorInterface $connector) { return $connector instanceof DictionaryConnectorInterface; })->toArray(); $connectors = []; $initialConnectors = []; $isSupportedExtensionVersion = $this->transportEntity->isSupportedExtensionVersion(); $isExtensionInstalled = $this->transportEntity->getIsExtensionInstalled(); foreach ($entities as $entity) { $connectorName = $this->settingsProvider->getIntegrationConnectorName($entity); if ($connectorName) { $connector = $this->typeRegistry->getConnectorType(ChannelType::TYPE, $connectorName); if (!$connector) { continue; } $isExtensionApplicable = $connector instanceof ExtensionVersionAwareInterface ? $isSupportedExtensionVersion : $isExtensionInstalled; if ($isExtensionApplicable || !$isExtensionApplicable && !$connector instanceof ExtensionAwareInterface) { array_push($initialConnectors, $connectorName . InitialSyncProcessor::INITIAL_CONNECTOR_SUFFIX); array_push($connectors, $connectorName); } } } return array_merge(array_keys($dictionaryConnectors), $initialConnectors, $connectors); }
/** * @dataProvider supportDataProvider * * @param bool $isExtensionInstalled * @param string $extensionVersion * @param bool $expected */ public function testSupportedExtensionVersion($isExtensionInstalled, $extensionVersion, $expected) { $this->entity->setExtensionVersion($extensionVersion)->setIsExtensionInstalled($isExtensionInstalled); $this->assertEquals($expected, $this->entity->isSupportedExtensionVersion()); }