protected function setUp() { $objectManager = new ObjectManager($this); $this->connection = $this->getMockBuilder('\\Magento\\Framework\\DB\\Adapter\\AdapterInterface')->disableOriginalConstructor()->getMock(); $this->connection->expects($this->any())->method('quoteInto')->willReturnCallback(function ($query, $expression) { return str_replace('?', $expression, $query); }); $this->resource = $this->getMockBuilder('\\Magento\\Framework\\App\\ResourceConnection')->disableOriginalConstructor()->getMock(); $this->resource->method('getTableName')->willReturnCallback(function ($table) { return 'prefix_' . $table; }); $this->resource->expects($this->any())->method('getConnection')->willReturn($this->connection); $this->website = $this->getMockBuilder('\\Magento\\Store\\Api\\Data\\WebsiteInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $this->website->expects($this->any())->method('getId')->willReturn(self::WEBSITE_ID); $this->store = $this->getMockBuilder('\\Magento\\Store\\Api\\Data\\StoreInterface')->disableOriginalConstructor()->getMockForAbstractClass(); $this->store->expects($this->any())->method('getId')->willReturn(self::STORE_ID); $this->storeManager = $this->getMockBuilder('\\Magento\\Store\\Model\\StoreManagerInterface')->disableOriginalConstructor()->getMock(); $this->storeManager->expects($this->any())->method('getWebsite')->willReturn($this->website); $this->storeManager->expects($this->any())->method('getStore')->willReturn($this->store); $this->attributeCollection = $this->getMockBuilder('\\Magento\\Catalog\\Model\\ResourceModel\\Product\\Attribute\\Collection')->disableOriginalConstructor()->getMock(); $attributeCollectionFactory = $this->getMockBuilder('\\Magento\\Catalog\\Model\\ResourceModel\\Product\\Attribute\\CollectionFactory')->setMethods(['create'])->disableOriginalConstructor()->getMock(); $attributeCollectionFactory->expects($this->once())->method('create')->willReturn($this->attributeCollection); $this->target = $objectManager->getObject('\\Magento\\CatalogSearch\\Model\\Search\\TableMapper', ['resource' => $this->resource, 'storeManager' => $this->storeManager, 'attributeCollectionFactory' => $attributeCollectionFactory]); $this->select = $this->getMockBuilder('\\Magento\\Framework\\DB\\Select')->disableOriginalConstructor()->getMock(); $this->request = $this->getMockBuilder('\\Magento\\Framework\\Search\\RequestInterface')->disableOriginalConstructor()->getMock(); }