resourceModelMock = $this->createMock(ResourceConnection::class); $this->connection = $this->getMockForAbstractClass(\Magento\Framework\DB\Adapter\AdapterInterface::class); $this->resourceModelMock->expects($this->any()) ->method('getConnection') ->with(self::CONNECTION_NAME) ->will($this->returnValue($this->connection)); $this->resourceModelMock->expects($this->any()) ->method('getConnectionByName') ->with(ResourceConnection::DEFAULT_CONNECTION) ->willReturn($this->connection); $this->setup = new Setup($this->resourceModelMock, self::CONNECTION_NAME); } public function testGetIdxName() { $tableName = 'table'; $fields = ['field']; $indexType = 'index_type'; $expectedIdxName = 'idxName'; $this->resourceModelMock->expects($this->once()) ->method('getTableName') ->with($tableName) ->will($this->returnValue($tableName)); $this->connection->expects($this->once()) ->method('getIndexName') ->with($tableName, $fields, $indexType) ->will($this->returnValue($expectedIdxName)); $this->assertEquals('idxName', $this->setup->getIdxName($tableName, $fields, $indexType)); } public function testGetFkName() { $tableName = 'table'; $refTable = 'ref_table'; $columnName = 'columnName'; $refColumnName = 'refColumnName'; $this->resourceModelMock->expects($this->once()) ->method('getTableName') ->with($tableName) ->will($this->returnValue($tableName)); $this->connection->expects($this->once()) ->method('getForeignKeyName') ->with($tableName, $columnName, $refTable, $refColumnName) ->will($this->returnValue('fkName')); $this->assertEquals('fkName', $this->setup->getFkName($tableName, $columnName, $refTable, $refColumnName)); } }