/**
  * @param bool $isExtensionInstalled
  * @param string $version
  * @param array $expectedConnectors
  *
  * @dataProvider installedExtensionDataProvider
  */
 public function testCartConnectorNotRelyOnVersion($isExtensionInstalled, $version, array $expectedConnectors)
 {
     $this->entity->setChannelType(ChannelType::TYPE);
     $transport = new MagentoSoapTransport();
     $transport->setIsExtensionInstalled($isExtensionInstalled);
     $transport->setExtensionVersion($version);
     $this->integration->setTransport($transport);
     $extensionAwareConnector = $this->getMockBuilder('OroCRM\\Bundle\\MagentoBundle\\Provider\\ExtensionAwareInterface')->disableOriginalConstructor()->getMock();
     $versionAwareConnector = $this->getMockBuilder('OroCRM\\Bundle\\MagentoBundle\\Provider\\ExtensionVersionAwareInterface')->disableOriginalConstructor()->getMock();
     $this->typesRegistry->expects($this->any())->method('getConnectorType')->will($this->returnValueMap([['magento', 'TestConnector1', $versionAwareConnector], ['magento', 'TestConnector2', $extensionAwareConnector]]));
     $this->typesRegistry->expects($this->any())->method('getRegisteredConnectorsTypes')->willReturn(new ArrayCollection());
     $this->prepareEvent();
     $this->getListener()->onChannelSucceedSave($this->event);
     $this->assertEquals($expectedConnectors, $this->integration->getConnectors());
 }
Ejemplo n.º 2
0
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $om)
 {
     $this->organization = $this->getReference('default_organization');
     $this->users = $om->getRepository('OroUserBundle:User')->findAll();
     $website = new Website();
     $website->setCode('admin')->setName('Admin');
     $om->persist($website);
     $store = new Store();
     $store->setCode('admin')->setName('Admin')->setWebsite($website);
     $om->persist($store);
     $transport = new MagentoSoapTransport();
     $transport->setApiUser('api_user');
     $transport->setApiKey('api_key');
     $transport->setExtensionVersion(SoapTransport::REQUIRED_EXTENSION_VERSION);
     $transport->setIsExtensionInstalled(true);
     $transport->setMagentoVersion('1.9.1.0');
     $transport->setWsdlUrl('http://magento.domain');
     $om->persist($transport);
     $integration = new Integration();
     $integration->setType('magento');
     $integration->setConnectors(['customer', 'cart', 'order', 'newsletter_subscriber']);
     $integration->setName(self::INTEGRATION_NAME);
     $integration->setTransport($transport);
     $integration->setOrganization($this->organization);
     $om->persist($integration);
     $builder = $this->factory->createBuilderForIntegration($integration);
     $builder->setOwner($integration->getOrganization());
     $builder->setDataSource($integration);
     $builder->setStatus($integration->isEnabled() ? Channel::STATUS_ACTIVE : Channel::STATUS_INACTIVE);
     $this->dataChannel = $builder->getChannel();
     $om->persist($this->dataChannel);
     $group = new CustomerGroup();
     $group->setName('General');
     $group->setOriginId(15000);
     $group->setChannel($integration);
     $om->persist($group);
     $om->flush();
     $this->persistDemoCustomers($om, $website, $store, $group, $integration);
     $om->flush();
     $this->persistDemoCarts($om, $store, $integration);
     $om->flush();
     $this->persistDemoOrders($om, $store, $integration);
     $om->flush();
     $this->persistDemoRFM($om);
     $om->flush();
 }
Ejemplo n.º 3
0
 /**
  * @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());
 }
Ejemplo n.º 4
0
 /**
  * @return $this
  */
 protected function createTransport()
 {
     $transport = new MagentoSoapTransport();
     $transport->setAdminUrl('http://localhost/magento/admin');
     $transport->setApiKey('key');
     $transport->setApiUser('user');
     $transport->setIsExtensionInstalled(true);
     $transport->setExtensionVersion(SoapTransport::REQUIRED_EXTENSION_VERSION);
     $transport->setMagentoVersion('1.9.1.0');
     $transport->setIsWsiMode(false);
     $transport->setWebsiteId('1');
     $transport->setWsdlUrl('http://localhost/magento/api/v2_soap?wsdl=1');
     $transport->setWebsites([['id' => 1, 'label' => 'Website ID: 1, Stores: English, French, German']]);
     $this->em->persist($transport);
     $this->transport = $transport;
     return $this;
 }