Skip to content

Commit

Permalink
Merge pull request #658 from magento-fearless-kiwis/FearlessKiwis-MAG…
Browse files Browse the repository at this point in the history
…ETWO-62020

Fixed issues:
 - 	MAGETWO-62020: Fix class constructors in a backward compatible way
  • Loading branch information
Oleksii Korshenko authored Dec 9, 2016
2 parents f17a744 + fb975d3 commit 10eff9c
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 29 deletions.
12 changes: 8 additions & 4 deletions app/code/Magento/Customer/Model/Customer/DataProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -99,16 +99,18 @@ class DataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider
];

/**
* DataProvider Constructor
*
* @param string $name
* @param string $primaryFieldName
* @param string $requestFieldName
* @param EavValidationRules $eavValidationRules
* @param CustomerCollectionFactory $customerCollectionFactory
* @param Config $eavConfig
* @param FilterPool $filterPool
* @param FileProcessorFactory $fileProcessorFactory
* @param array $meta
* @param array $data
* @param FileProcessorFactory|null $fileProcessorFactory
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
Expand All @@ -119,23 +121,25 @@ public function __construct(
CustomerCollectionFactory $customerCollectionFactory,
Config $eavConfig,
FilterPool $filterPool,
FileProcessorFactory $fileProcessorFactory = null,
array $meta = [],
array $data = []
array $data = [],
FileProcessorFactory $fileProcessorFactory = null
) {
parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data);
$this->eavValidationRules = $eavValidationRules;
$this->collection = $customerCollectionFactory->create();
$this->collection->addAttributeToSelect('*');
$this->eavConfig = $eavConfig;
$this->filterPool = $filterPool;
$this->fileProcessorFactory = $fileProcessorFactory ?: $this->getFileProcessorFactory();
$this->meta['customer']['fields'] = $this->getAttributesMeta(
$this->eavConfig->getEntityType('customer')
);
$this->meta['address']['fields'] = $this->getAttributesMeta(
$this->eavConfig->getEntityType('customer_address')
);
$this->fileProcessorFactory = $fileProcessorFactory ?: ObjectManager::getInstance()->get(
FileProcessorFactory::class
);
}

/**
Expand Down
8 changes: 6 additions & 2 deletions app/code/Magento/Deploy/Model/Deployer.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ class Deployer
* @param Version\StorageInterface $versionStorage
* @param JsTranslationConfig $jsTranslationConfig
* @param AlternativeSourceInterface[] $alternativeSources
* @param DeployManagerFactory $deployManagerFactory
* @param bool $isDryRun
* @param DeployManagerFactory|null $deployManagerFactory
* @param array $options
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
Expand All @@ -60,11 +61,14 @@ public function __construct(
Version\StorageInterface $versionStorage,
JsTranslationConfig $jsTranslationConfig,
array $alternativeSources,
$isDryRun = false,
DeployManagerFactory $deployManagerFactory = null,
$options = []
) {
$this->output = $output;
$this->deployManagerFactory = $deployManagerFactory;
$this->deployManagerFactory = $deployManagerFactory ?: ObjectManager::getInstance()->get(
DeployManagerFactory::class
);
if (is_array($options)) {
$this->options = $options;
} else {
Expand Down
18 changes: 14 additions & 4 deletions app/code/Magento/Sales/Model/InvoiceOrder.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,16 @@
use Magento\Sales\Api\InvoiceOrderInterface;
use Magento\Sales\Api\OrderRepositoryInterface;
use Magento\Sales\Model\Order\Config as OrderConfig;
use Magento\Sales\Model\Order\Invoice\InvoiceValidatorInterface;
use Magento\Sales\Model\Order\Invoice\NotifierInterface;
use Magento\Sales\Model\Order\InvoiceDocumentFactory;
use Magento\Sales\Model\Order\InvoiceRepository;
use Magento\Sales\Model\Order\OrderStateResolverInterface;
use Magento\Sales\Model\Order\OrderValidatorInterface;
use Magento\Sales\Model\Order\PaymentAdapterInterface;
use Magento\Sales\Model\Order\Validation\InvoiceOrderInterface as InvoiceOrderValidator;
use Psr\Log\LoggerInterface;
use Magento\Framework\App\ObjectManager;

/**
* Class InvoiceOrder
Expand Down Expand Up @@ -81,26 +84,31 @@ class InvoiceOrder implements InvoiceOrderInterface
* @param ResourceConnection $resourceConnection
* @param OrderRepositoryInterface $orderRepository
* @param InvoiceDocumentFactory $invoiceDocumentFactory
* @param InvoiceValidatorInterface $invoiceValidator
* @param OrderValidatorInterface $orderValidator
* @param PaymentAdapterInterface $paymentAdapter
* @param OrderStateResolverInterface $orderStateResolver
* @param OrderConfig $config
* @param InvoiceRepository $invoiceRepository
* @param InvoiceOrderValidator $invoiceOrderValidator
* @param NotifierInterface $notifierInterface
* @param LoggerInterface $logger
* @param InvoiceOrderValidator|null $invoiceOrderValidator
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function __construct(
ResourceConnection $resourceConnection,
OrderRepositoryInterface $orderRepository,
InvoiceDocumentFactory $invoiceDocumentFactory,
InvoiceValidatorInterface $invoiceValidator,
OrderValidatorInterface $orderValidator,
PaymentAdapterInterface $paymentAdapter,
OrderStateResolverInterface $orderStateResolver,
OrderConfig $config,
InvoiceRepository $invoiceRepository,
InvoiceOrderValidator $invoiceOrderValidator,
NotifierInterface $notifierInterface,
LoggerInterface $logger
LoggerInterface $logger,
InvoiceOrderValidator $invoiceOrderValidator = null
) {
$this->resourceConnection = $resourceConnection;
$this->orderRepository = $orderRepository;
Expand All @@ -109,9 +117,11 @@ public function __construct(
$this->orderStateResolver = $orderStateResolver;
$this->config = $config;
$this->invoiceRepository = $invoiceRepository;
$this->invoiceOrderValidator = $invoiceOrderValidator;
$this->notifierInterface = $notifierInterface;
$this->logger = $logger;
$this->invoiceOrderValidator = $invoiceOrderValidator ?: ObjectManager::getInstance()->get(
InvoiceOrderValidator::class
);
}

/**
Expand Down
22 changes: 17 additions & 5 deletions app/code/Magento/Sales/Model/ShipOrder.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@
use Magento\Sales\Api\ShipOrderInterface;
use Magento\Sales\Model\Order\Config as OrderConfig;
use Magento\Sales\Model\Order\OrderStateResolverInterface;
use Magento\Sales\Model\Order\OrderValidatorInterface;
use Magento\Sales\Model\Order\ShipmentDocumentFactory;
use Magento\Sales\Model\Order\Shipment\NotifierInterface;
use Magento\Sales\Model\Order\Shipment\ShipmentValidatorInterface;
use Magento\Sales\Model\Order\Shipment\OrderRegistrarInterface;
use Magento\Sales\Model\Order\Validation\ShipOrderInterface as ShipOrderValidator;
use Psr\Log\LoggerInterface;
use Magento\Framework\App\ObjectManager;

/**
* Class ShipOrder
Expand Down Expand Up @@ -77,37 +80,46 @@ class ShipOrder implements ShipOrderInterface
* @param ResourceConnection $resourceConnection
* @param OrderRepositoryInterface $orderRepository
* @param ShipmentDocumentFactory $shipmentDocumentFactory
* @param ShipmentValidatorInterface $shipmentValidator
* @param OrderValidatorInterface $orderValidator
* @param OrderStateResolverInterface $orderStateResolver
* @param OrderConfig $config
* @param ShipmentRepositoryInterface $shipmentRepository
* @param ShipOrderValidator $shipOrderValidator
* @param NotifierInterface $notifierInterface
* @param OrderRegistrarInterface $orderRegistrar
* @param LoggerInterface $logger
* @param LoggerInterface $logger,
* @param ShipOrderValidator|null $shipOrderValidator
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function __construct(
ResourceConnection $resourceConnection,
OrderRepositoryInterface $orderRepository,
ShipmentDocumentFactory $shipmentDocumentFactory,
ShipmentValidatorInterface $shipmentValidator,
OrderValidatorInterface $orderValidator,
OrderStateResolverInterface $orderStateResolver,
OrderConfig $config,
ShipmentRepositoryInterface $shipmentRepository,
ShipOrderValidator $shipOrderValidator,
NotifierInterface $notifierInterface,
OrderRegistrarInterface $orderRegistrar,
LoggerInterface $logger
LoggerInterface $logger,
ShipOrderValidator $shipOrderValidator = null
) {
$this->resourceConnection = $resourceConnection;
$this->orderRepository = $orderRepository;
$this->shipmentDocumentFactory = $shipmentDocumentFactory;
$this->shipmentValidator = $shipmentValidator;
$this->orderValidator = $orderValidator;
$this->orderStateResolver = $orderStateResolver;
$this->config = $config;
$this->shipmentRepository = $shipmentRepository;
$this->shipOrderValidator = $shipOrderValidator;
$this->notifierInterface = $notifierInterface;
$this->logger = $logger;
$this->orderRegistrar = $orderRegistrar;
$this->shipOrderValidator = $shipOrderValidator ?: ObjectManager::getInstance()->get(
ShipOrderValidator::class
);
}

/**
Expand Down
9 changes: 6 additions & 3 deletions app/code/Magento/Sales/Model/Validator.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\ObjectManagerInterface;
use Magento\Framework\App\ObjectManager;

/**
* Class Validator
Expand All @@ -29,14 +30,16 @@ class Validator
* Validator constructor.
*
* @param ObjectManagerInterface $objectManager
* @param ValidatorResultInterfaceFactory $validatorResult
* @param ValidatorResultInterfaceFactory|null $validatorResult
*/
public function __construct(
ObjectManagerInterface $objectManager,
ValidatorResultInterfaceFactory $validatorResult
ValidatorResultInterfaceFactory $validatorResult = null
) {
$this->objectManager = $objectManager;
$this->validatorResultFactory = $validatorResult;
$this->validatorResultFactory = $validatorResult ?: ObjectManager::getInstance()->get(
ValidatorResultInterfaceFactory::class
);
}

/**
Expand Down
28 changes: 17 additions & 11 deletions app/code/Magento/Sales/Test/Unit/Model/InvoiceOrderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
use Magento\Sales\Model\ValidatorResultInterface;
use Magento\Sales\Model\InvoiceOrder;
use Psr\Log\LoggerInterface;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;

/**
* Class InvoiceOrderTest
Expand Down Expand Up @@ -119,6 +120,8 @@ class InvoiceOrderTest extends \PHPUnit_Framework_TestCase

protected function setUp()
{
$objectManager = new ObjectManager($this);

$this->resourceConnectionMock = $this->getMockBuilder(ResourceConnection::class)
->disableOriginalConstructor()
->getMock();
Expand Down Expand Up @@ -184,17 +187,20 @@ protected function setUp()
->setMethods(['hasMessages', 'getMessages', 'addMessage'])
->getMock();

$this->invoiceOrder = new InvoiceOrder(
$this->resourceConnectionMock,
$this->orderRepositoryMock,
$this->invoiceDocumentFactoryMock,
$this->paymentAdapterMock,
$this->orderStateResolverMock,
$this->configMock,
$this->invoiceRepositoryMock,
$this->invoiceOrderValidatorMock,
$this->notifierInterfaceMock,
$this->loggerMock
$this->invoiceOrder = $objectManager->getObject(
InvoiceOrder::class,
[
'resourceConnection' => $this->resourceConnectionMock,
'orderRepository' => $this->orderRepositoryMock,
'invoiceDocumentFactory' => $this->invoiceDocumentFactoryMock,
'paymentAdapter' => $this->paymentAdapterMock,
'orderStateResolver' => $this->orderStateResolverMock,
'config' => $this->configMock,
'invoiceRepository' => $this->invoiceRepositoryMock,
'invoiceOrderValidator' => $this->invoiceOrderValidatorMock,
'notifierInterface' => $this->notifierInterfaceMock,
'logger' => $this->loggerMock
]
);
}

Expand Down

0 comments on commit 10eff9c

Please sign in to comment.