diff --git a/app/code/Magento/Customer/Model/Customer/DataProvider.php b/app/code/Magento/Customer/Model/Customer/DataProvider.php index 3ebe91f0ccef9..efe4592004b12 100644 --- a/app/code/Magento/Customer/Model/Customer/DataProvider.php +++ b/app/code/Magento/Customer/Model/Customer/DataProvider.php @@ -99,6 +99,8 @@ class DataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider ]; /** + * DataProvider Constructor + * * @param string $name * @param string $primaryFieldName * @param string $requestFieldName @@ -106,9 +108,9 @@ class DataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider * @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( @@ -119,9 +121,9 @@ 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; @@ -129,13 +131,15 @@ public function __construct( $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 + ); } /** diff --git a/app/code/Magento/Deploy/Model/Deployer.php b/app/code/Magento/Deploy/Model/Deployer.php index 9c1781dcb08ad..9e7241c9ce55b 100644 --- a/app/code/Magento/Deploy/Model/Deployer.php +++ b/app/code/Magento/Deploy/Model/Deployer.php @@ -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) */ @@ -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 { diff --git a/app/code/Magento/Sales/Model/InvoiceOrder.php b/app/code/Magento/Sales/Model/InvoiceOrder.php index c503b01a5ab21..3cf7577ecc958 100644 --- a/app/code/Magento/Sales/Model/InvoiceOrder.php +++ b/app/code/Magento/Sales/Model/InvoiceOrder.php @@ -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 @@ -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; @@ -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 + ); } /** diff --git a/app/code/Magento/Sales/Model/ShipOrder.php b/app/code/Magento/Sales/Model/ShipOrder.php index 034442a19c1f7..ebc42c3f9c891 100644 --- a/app/code/Magento/Sales/Model/ShipOrder.php +++ b/app/code/Magento/Sales/Model/ShipOrder.php @@ -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 @@ -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 + ); } /** diff --git a/app/code/Magento/Sales/Model/Validator.php b/app/code/Magento/Sales/Model/Validator.php index 281d517bdc2e5..e23aca1901a8d 100644 --- a/app/code/Magento/Sales/Model/Validator.php +++ b/app/code/Magento/Sales/Model/Validator.php @@ -7,6 +7,7 @@ use Magento\Framework\Exception\LocalizedException; use Magento\Framework\ObjectManagerInterface; +use Magento\Framework\App\ObjectManager; /** * Class Validator @@ -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 + ); } /** diff --git a/app/code/Magento/Sales/Test/Unit/Model/InvoiceOrderTest.php b/app/code/Magento/Sales/Test/Unit/Model/InvoiceOrderTest.php index 1169e230e7542..36368a5c83867 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/InvoiceOrderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/InvoiceOrderTest.php @@ -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 @@ -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(); @@ -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 + ] ); }