/** * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function setUp() { $entityFactory = $this->getMock('Magento\\Framework\\Data\\Collection\\EntityFactory', [], [], '', false); $logger = $this->getMockBuilder('Psr\\Log\\LoggerInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $fetchStrategy = $this->getMockBuilder('Magento\\Framework\\Data\\Collection\\Db\\FetchStrategyInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $eventManager = $this->getMockBuilder('Magento\\Framework\\Event\\ManagerInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $eavConfig = $this->getMockBuilder('Magento\\Eav\\Model\\Config')->disableOriginalConstructor()->getMock(); $resource = $this->getMockBuilder('Magento\\Framework\\App\\ResourceConnection')->disableOriginalConstructor()->getMock(); $eavEntityFactory = $this->getMockBuilder('Magento\\Eav\\Model\\EntityFactory')->disableOriginalConstructor()->getMock(); $resourceHelper = $this->getMockBuilder('Magento\\Catalog\\Model\\ResourceModel\\Helper')->disableOriginalConstructor()->getMock(); $universalFactory = $this->getMockBuilder('Magento\\Framework\\Validator\\UniversalFactory')->disableOriginalConstructor()->getMock(); $storeManager = $this->getMockBuilder('Magento\\Store\\Model\\StoreManagerInterface')->disableOriginalConstructor()->setMethods(['getStore', 'getId'])->getMockForAbstractClass(); $moduleManager = $this->getMockBuilder('Magento\\Framework\\Module\\Manager')->disableOriginalConstructor()->getMock(); $catalogProductFlatState = $this->getMockBuilder('Magento\\Catalog\\Model\\Indexer\\Product\\Flat\\State')->disableOriginalConstructor()->getMock(); $scopeConfig = $this->getMockBuilder('Magento\\Framework\\App\\Config\\ScopeConfigInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $productOptionFactory = $this->getMockBuilder('Magento\\Catalog\\Model\\Product\\OptionFactory')->disableOriginalConstructor()->getMock(); $catalogUrl = $this->getMockBuilder('Magento\\Catalog\\Model\\ResourceModel\\Url')->disableOriginalConstructor()->getMock(); $localeDate = $this->getMockBuilder('Magento\\Framework\\Stdlib\\DateTime\\TimezoneInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $customerSession = $this->getMockBuilder('Magento\\Customer\\Model\\Session')->disableOriginalConstructor()->getMock(); $dateTime = $this->getMockBuilder('Magento\\Framework\\Stdlib\\DateTime')->disableOriginalConstructor()->getMock(); $groupManagement = $this->getMockBuilder('Magento\\Customer\\Api\\GroupManagementInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $this->connectionMock = $this->getMockBuilder('Magento\\Framework\\DB\\Adapter\\AdapterInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $this->selectMock = $this->getMockBuilder('Magento\\Framework\\DB\\Select')->disableOriginalConstructor()->getMock(); $entityMock = $this->getMockBuilder('Magento\\Eav\\Model\\Entity\\AbstractEntity')->disableOriginalConstructor()->getMock(); $storeManager->expects($this->any())->method('getId')->willReturn(1); $storeManager->expects($this->any())->method('getStore')->willReturnSelf(); $universalFactory->expects($this->exactly(1))->method('create')->willReturnOnConsecutiveCalls($entityMock); $entityMock->expects($this->once())->method('getConnection')->willReturn($this->connectionMock); $entityMock->expects($this->once())->method('getDefaultAttributes')->willReturn([]); $entityMock->expects($this->any())->method('getTable')->willReturnArgument(0); $this->connectionMock->expects($this->atLeastOnce())->method('select')->willReturn($this->selectMock); $helper = new ObjectManager($this); $this->collection = $helper->getObject('Magento\\Catalog\\Model\\ResourceModel\\Product\\Collection', ['entityFactory' => $entityFactory, 'logger' => $logger, 'fetchStrategy' => $fetchStrategy, 'eventManager' => $eventManager, 'eavConfig' => $eavConfig, 'resource' => $resource, 'eavEntityFactory' => $eavEntityFactory, 'resourceHelper' => $resourceHelper, 'universalFactory' => $universalFactory, 'storeManager' => $storeManager, 'moduleManager' => $moduleManager, 'catalogProductFlatState' => $catalogProductFlatState, 'scopeConfig' => $scopeConfig, 'productOptionFactory' => $productOptionFactory, 'catalogUrl' => $catalogUrl, 'localeDate' => $localeDate, 'customerSession' => $customerSession, 'dateTime' => $dateTime, 'groupManagement' => $groupManagement, 'connection' => $this->connectionMock]); $this->collection->setConnection($this->connectionMock); }