/** * Run test getAllIds method * * @return void */ public function testGetAllIds() { $adapterMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', ['fetchCol'], [], '', false); $this->resourceMock->expects($this->once())->method('getIdFieldName')->will($this->returnValue('return-value')); $this->selectMock->expects($this->once())->method('getConnection')->will($this->returnValue($adapterMock)); $adapterMock->expects($this->once())->method('fetchCol')->will($this->returnValue('fetch-result')); $this->assertEquals('fetch-result', $this->query->getAllIds()); }
protected function setUp() { $this->select = $this->getMockBuilder('Magento\\Framework\\DB\\Select')->disableOriginalConstructor()->getMock(); $this->connection = $this->getMockBuilder('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql')->disableOriginalConstructor()->getMock(); $this->connection->expects($this->any())->method('select')->willReturn($this->select); $this->resource = $this->getMockBuilder('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb')->disableOriginalConstructor()->setMethods(['getConnection', 'getMainTable', 'getTable'])->getMockForAbstractClass(); $this->resource->expects($this->any())->method('getConnection')->willReturn($this->connection); $this->resource->expects($this->any())->method('getMainTable')->willReturn('table_test'); $this->resource->expects($this->any())->method('getTable')->willReturn('test'); $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); }
/** * Mock class dependencies */ protected function setUp() { $this->entityFactoryMock = $this->getMock('Magento\\Framework\\Data\\Collection\\EntityFactory', [], [], '', false); $this->fetchStrategyMock = $this->getMockForAbstractClass('Magento\\Framework\\Data\\Collection\\Db\\FetchStrategyInterface'); $this->eventManagerMock = $this->getMock('Magento\\Framework\\Event\\ManagerInterface', [], [], '', false); $this->selectMock = $this->getMock('Magento\\Framework\\DB\\Select', [], [], '', false); $this->connectionMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', [], [], '', false); $this->connectionMock->expects($this->atLeastOnce())->method('select')->will($this->returnValue($this->selectMock)); $this->resourceMock = $this->getMock('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb', [], [], '', false); $this->resourceMock->expects($this->any())->method('getConnection')->will($this->returnValue($this->connectionMock)); $objectManager = new ObjectManager($this); $this->collection = $objectManager->getObject('Magento\\Quote\\Model\\ResourceModel\\Quote\\Item\\Collection', ['entityFactory' => $this->entityFactoryMock, 'fetchStrategy' => $this->fetchStrategyMock, 'eventManager' => $this->eventManagerMock, 'resource' => $this->resourceMock]); }
protected function setUp() { $this->storeManager = $this->getMock('Magento\\Store\\Model\\StoreManagerInterface'); $this->select = $this->getMock('Magento\\Framework\\DB\\Select', ['from', 'where'], [], '', false); $this->connectionMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', ['select', 'prepareSqlCondition', 'quoteIdentifier'], [], '', false); $this->resource = $this->getMockForAbstractClass('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb', [], '', false, true, true, ['getConnection', '__wakeup', 'getMainTable', 'getTable']); $this->select->expects($this->any())->method('where')->will($this->returnSelf()); $this->connectionMock->expects($this->any())->method('select')->will($this->returnValue($this->select)); $this->connectionMock->expects($this->any())->method('quoteIdentifier')->will($this->returnArgument(0)); $this->resource->expects($this->any())->method('getConnection')->will($this->returnValue($this->connectionMock)); $this->resource->expects($this->any())->method('getMainTable')->will($this->returnValue('test_main_table')); $this->resource->expects($this->any())->method('getTable')->with('test_main_table')->will($this->returnValue('test_main_table')); $this->collection = (new ObjectManager($this))->getObject('Magento\\UrlRewrite\\Model\\ResourceModel\\UrlRewriteCollection', ['storeManager' => $this->storeManager, 'resource' => $this->resource]); }
protected function setUp() { $this->fetchStrategyMock = $this->getMock('Magento\\Framework\\Data\\Collection\\Db\\FetchStrategy\\Query', ['fetchAll'], [], '', false); $this->entityFactoryMock = $this->getMock('Magento\\Framework\\Data\\Collection\\EntityFactory', ['create'], [], '', false); $this->loggerMock = $this->getMock('Psr\\Log\\LoggerInterface'); $this->resourceMock = $this->getMockBuilder('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb')->setMethods(['getConnection', 'getMainTable', 'getTable'])->disableOriginalConstructor()->getMockForAbstractClass(); $this->connectionMock = $this->getMock('\\Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', ['select', 'query'], [], '', false); $this->selectMock = $this->getMock('Magento\\Framework\\DB\\Select', ['from'], ['adapter' => $this->connectionMock]); $this->connectionMock->expects($this->once())->method('select')->will($this->returnValue($this->selectMock)); $this->resourceMock->expects($this->once())->method('getConnection')->will($this->returnValue($this->connectionMock)); $this->resourceMock->expects($this->once())->method('getMainTable')->willReturn('main_table_name'); $this->resourceMock->expects($this->once())->method('getTable')->will($this->returnArgument(0)); $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); $this->collection = $objectManager->getObject('Magento\\Review\\Model\\ResourceModel\\Review\\Summary\\Collection', ['entityFactory' => $this->entityFactoryMock, 'logger' => $this->loggerMock, 'fetchStrategy' => $this->fetchStrategyMock, 'resource' => $this->resourceMock]); }
/** * @param mixed $ignoreData * @param 'string' $ignoreSql * @dataProvider ignoresDataProvider * @return void */ public function testAddStoreFilter($ignoreData, $ignoreSql) { $typeId = 1; $subjectId = 2; $subtype = 3; $limit = 0; $stores = [1, 2]; $this->resourceMock->expects($this->once())->method('getCurrentStoreIds')->willReturn($stores); $this->selectMock->expects($this->at(0))->method('where')->with('event_type_id = ?', $typeId); $this->selectMock->expects($this->at(1))->method('where')->with('subject_id = ?', $subjectId); $this->selectMock->expects($this->at(2))->method('where')->with('subtype = ?', $subtype); $this->selectMock->expects($this->at(3))->method('where')->with('store_id IN(?)', $stores); $this->selectMock->expects($this->at(4))->method('where')->with($ignoreSql, $ignoreData); $this->collection->addRecentlyFiler($typeId, $subjectId, $subtype, $ignoreData, $limit); }
public function testGetFields() { $entityTable = 'entity_table'; $expectedDescribedTable = ['field1' => null, 'field2' => null]; $expectedAttributes = ['attribute1' => 'value1', 'attribute2' => 'value2']; $expectedResults = array_merge($expectedDescribedTable, $expectedAttributes); $this->resource->expects($this->any())->method('getEntityTable')->willReturn($entityTable); $this->connection->expects($this->once())->method('describeTable')->with($entityTable)->willReturn($expectedDescribedTable); $this->model->expects($this->any())->method('getAttributes')->willReturn($expectedAttributes); //check that fields load with null initial value $this->assertEquals(array_fill_keys(array_keys($expectedResults), null), $this->metadata->getFields($this->model)); // Testing loading data from cache. $this->connection->expects($this->never())->method('describeTable'); $this->assertEquals(array_fill_keys(array_keys($expectedResults), null), $this->metadata->getFields($this->model)); }
public function testPrepareDataForUpdate() { $connectionMock = $this->getMock('\\Magento\\Framework\\DB\\Adapter\\AdapterInterface', [], [], '', false); $context = (new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this))->getObject('Magento\\Framework\\Model\\Context'); $registryMock = $this->getMock('\\Magento\\Framework\\Registry', [], [], '', false); $resourceMock = $this->getMock('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb', ['_construct', 'getConnection', '__wakeup', 'getIdFieldName'], [], '', false); $connectionInterfaceMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\AdapterInterface', [], [], '', false); $resourceMock->expects($this->any())->method('getConnection')->will($this->returnValue($connectionInterfaceMock)); $resourceCollectionMock = $this->getMockBuilder('Magento\\Framework\\Data\\Collection\\AbstractDb')->disableOriginalConstructor()->getMockForAbstractClass(); $abstractModelMock = $this->getMockForAbstractClass('Magento\\Framework\\Model\\AbstractModel', [$context, $registryMock, $resourceMock, $resourceCollectionMock]); $data = 'tableName'; $this->_resourcesMock->expects($this->any())->method('getConnection')->will($this->returnValue($connectionMock)); $this->_resourcesMock->expects($this->any())->method('getTableName')->with($data)->will($this->returnValue('tableName')); $mainTableReflection = new \ReflectionProperty('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb', '_mainTable'); $mainTableReflection->setAccessible(true); $mainTableReflection->setValue($this->_model, 'tableName'); $idFieldNameReflection = new \ReflectionProperty('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb', '_idFieldName'); $idFieldNameReflection->setAccessible(true); $idFieldNameReflection->setValue($this->_model, 'idFieldName'); $connectionMock->expects($this->any())->method('save')->with('tableName', 'idFieldName'); $connectionMock->expects($this->any())->method('quoteInto')->will($this->returnValue('idFieldName')); $abstractModelMock->setIdFieldName('id'); $abstractModelMock->setData(['id' => 12345, 'name' => 'Test Name', 'value' => 'Test Value']); $abstractModelMock->afterLoad(); $this->assertEquals($abstractModelMock->getData(), $abstractModelMock->getStoredData()); $newData = ['value' => 'Test Value New']; $this->_model->expects($this->once())->method('_prepareDataForTable')->will($this->returnValue($newData)); $abstractModelMock->addData($newData); $this->assertNotEquals($abstractModelMock->getData(), $abstractModelMock->getStoredData()); $abstractModelMock->isObjectNew(false); $connectionMock->expects($this->once())->method('update')->with('tableName', $newData, 'idFieldName'); $this->_model->save($abstractModelMock); }
protected function _prepareAddFilterStubs() { $entityInfo = []; $entityInfo['entity_id_field'] = 'entity_id'; $entityInfo['rule_id_field'] = 'rule_id'; $entityInfo['associations_table'] = 'assoc_table'; $connection = $this->getMock('\\Magento\\Framework\\DB\\Adapter\\AdapterInterface'); $select = $this->getMock('\\Magento\\Framework\\DB\\Select', [], [], '', false); $collectionSelect = $this->getMock('\\Magento\\Framework\\DB\\Select', [], [], '', false); $connection->expects($this->any())->method('select')->will($this->returnValue($select)); $select->expects($this->any())->method('from')->will($this->returnSelf()); $select->expects($this->any())->method('where')->will($this->returnSelf()); $this->abstractCollection->expects($this->any())->method('getConnection')->will($this->returnValue($connection)); $this->_db->expects($this->any())->method('getTable')->will($this->returnArgument(0)); $this->abstractCollection->expects($this->any())->method('getSelect')->will($this->returnValue($collectionSelect)); $this->abstractCollection->expects($this->any())->method('_getAssociatedEntityInfo')->will($this->returnValue($entityInfo)); }
/** * @param int $isFilter * @param string $useAggregatedData * @param string $mainTable * @dataProvider salesDataProvider * @return void */ public function testCalculateSales($isFilter, $useAggregatedData, $mainTable) { $this->scopeConfigMock->expects($this->once())->method('getValue')->with('sales/dashboard/use_aggregated_data', \Magento\Store\Model\ScopeInterface::SCOPE_STORE)->willReturn($useAggregatedData); $storeMock = $this->getMockBuilder('Magento\\Store\\Model\\Store')->disableOriginalConstructor()->getMock(); $this->storeManagerMock->expects($this->any())->method('getStore')->willReturn($storeMock); $this->resourceMock->expects($this->at(0))->method('getTable')->with($mainTable); $this->collection->calculateSales($isFilter); }
protected function setUp() { $this->entityFactoryMock = $this->getMock('Magento\\Framework\\Data\\Collection\\EntityFactory', [], [], '', false); $this->loggerMock = $this->getMock('Psr\\Log\\LoggerInterface'); $this->fetchStrategyMock = $this->getMock('Magento\\Framework\\Data\\Collection\\Db\\FetchStrategyInterface', [], [], '', false); $this->eventManagerMock = $this->getMock('Magento\\Framework\\Event\\ManagerInterface', [], [], '', false); $this->coreResourceMock = $this->getMock('Magento\\Framework\\App\\ResourceConnection', [], [], '', false); $this->storeManagerMock = $this->getMock('Magento\\Store\\Model\\StoreManagerInterface', [], [], '', false); $this->connectionMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', [], [], '', false); $this->resourceMock = $this->getMockForAbstractClass('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb', [], '', false, true, true, ['__wakeup', 'getConnection', 'getMainTable', 'getTable']); $this->selectMock = $this->getMock('Magento\\Framework\\DB\\Select', [], [], '', false); $this->coreResourceMock->expects($this->any())->method('getConnection')->will($this->returnValue($this->connectionMock)); $this->coreResourceMock->expects($this->any())->method('getTableName')->with('eav_attribute_option_value')->will($this->returnValue(null)); $this->connectionMock->expects($this->any())->method('select')->will($this->returnValue($this->selectMock)); $this->connectionMock->expects($this->any())->method('quoteIdentifier')->will($this->returnArgument(0)); $this->resourceMock->expects($this->any())->method('getConnection')->will($this->returnValue($this->connectionMock)); $this->resourceMock->expects($this->any())->method('getMainTable')->will($this->returnValue('eav_attribute_option')); $this->resourceMock->expects($this->any())->method('getTable')->with('eav_attribute_option')->will($this->returnValue('eav_attribute_option')); $this->model = new \Magento\Eav\Model\ResourceModel\Entity\Attribute\Option\Collection($this->entityFactoryMock, $this->loggerMock, $this->fetchStrategyMock, $this->eventManagerMock, $this->coreResourceMock, $this->storeManagerMock, null, $this->resourceMock); }
public function setUp() { $this->eventManagerMock = $this->getMock('Magento\\Framework\\Event\\ManagerInterface', [], [], '', false); $this->connectionMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', [], [], '', false); $this->selectMock = $this->getMock('Magento\\Framework\\DB\\Select', [], [], '', false); $this->historyItemMock = $this->getMock('Magento\\Sales\\Model\\Order\\Status\\History', ['__wakeup', 'addData'], [], '', false); $this->resourceMock = $this->getMockForAbstractClass('Magento\\Sales\\Model\\ResourceModel\\EntityAbstract', [], '', false, true, true, ['getConnection', 'getMainTable', 'getTable', '__wakeup']); $this->entitySnapshotMock = $this->getMock('Magento\\Framework\\Model\\ModelResource\\Db\\VersionControl\\Snapshot', [], [], '', false); $this->fetchStrategyMock = $this->getMockForAbstractClass('Magento\\Framework\\Data\\Collection\\Db\\FetchStrategyInterface'); $this->entityFactoryMock = $this->getMock('Magento\\Framework\\Data\\Collection\\EntityFactory', [], [], '', false); $this->resourceMock->expects($this->any())->method('getConnection')->will($this->returnValue($this->connectionMock)); $this->resourceMock->expects($this->any())->method('getTable')->will($this->returnArgument(0)); $this->connectionMock->expects($this->any())->method('quoteIdentifier')->will($this->returnArgument(0)); $this->connectionMock->expects($this->atLeastOnce())->method('select')->will($this->returnValue($this->selectMock)); $data = [['data']]; $this->historyItemMock->expects($this->once())->method('addData')->with($this->equalTo($data[0]))->will($this->returnValue($this->historyItemMock)); $this->fetchStrategyMock->expects($this->once())->method('fetchAll')->will($this->returnValue($data)); $this->entityFactoryMock->expects($this->once())->method('create')->will($this->returnValue($this->historyItemMock)); $logger = $this->getMock('Psr\\Log\\LoggerInterface'); $this->collection = new \Magento\Sales\Model\ResourceModel\Order\Status\History\Collection($this->entityFactoryMock, $logger, $this->fetchStrategyMock, $this->eventManagerMock, $this->entitySnapshotMock, $this->connectionMock, $this->resourceMock); }
protected function setUp() { $this->entityFactoryMock = $this->getMock('Magento\\Framework\\Data\\Collection\\EntityFactory', [], [], '', false); $this->loggerMock = $this->getMock('Psr\\Log\\LoggerInterface'); $this->fetchStrategyMock = $this->getMock('Magento\\Framework\\Data\\Collection\\Db\\FetchStrategyInterface'); $this->eventManagerMock = $this->getMock('Magento\\Framework\\Event\\ManagerInterface'); $this->eavConfigMock = $this->getMock('Magento\\Eav\\Model\\Config', [], [], '', false); $this->entityTypeMock = $this->getMock('Magento\\Eav\\Model\\Entity\\Type', ['__wakeup'], [], '', false); $this->entityTypeMock->setAdditionalAttributeTable('some_extra_table'); $this->eavConfigMock->expects($this->any())->method('getEntityType')->will($this->returnValue($this->entityTypeMock)); $this->storeManagerMock = $this->getMock('Magento\\Store\\Model\\StoreManagerInterface'); $this->storeManagerMock->expects($this->any())->method('getStore')->will($this->returnSelf()); $this->connectionMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', ['select', 'describeTable', 'quoteIdentifier', '_connect', '_quote'], [], '', false); $this->select = new \Magento\Framework\DB\Select($this->connectionMock); $this->resourceMock = $this->getMockForAbstractClass('Magento\\Framework\\Model\\ModelResource\\Db\\AbstractDb', [], '', false, true, true, ['__wakeup', 'getConnection', 'getMainTable', 'getTable']); $this->connectionMock->expects($this->any())->method('select')->will($this->returnValue($this->select)); $this->connectionMock->expects($this->any())->method('quoteIdentifier')->will($this->returnArgument(0)); $this->connectionMock->expects($this->any())->method('describeTable')->will($this->returnvalueMap([['some_main_table', null, ['col1' => [], 'col2' => []]], ['some_extra_table', null, ['col2' => [], 'col3' => []]], [null, null, ['col2' => [], 'col3' => [], 'col4' => []]]])); $this->connectionMock->expects($this->any())->method('_quote')->will($this->returnArgument(0)); $this->resourceMock->expects($this->any())->method('getConnection')->will($this->returnValue($this->connectionMock)); $this->resourceMock->expects($this->any())->method('getMainTable')->will($this->returnValue('some_main_table')); $this->resourceMock->expects($this->any())->method('getTable')->will($this->returnValue('some_extra_table')); }
public function testGetTable() { $this->resourceMock->expects($this->any())->method('getTable')->will($this->returnValue(self::TABLE_NAME)); $this->assertEquals(self::TABLE_NAME, $this->uut->getTable('')); }