def testMime(self): l1 = create_layer('l1') l2 = create_layer('l2') QgsProject.instance().addMapLayers([l1, l2]) m = QgsMapLayerModel() self.assertEqual(m.mimeTypes(), ['application/qgis.layermodeldata']) data = m.mimeData([m.index(0, 0)]) self.assertTrue(data) self.assertFalse( m.canDropMimeData(data, Qt.MoveAction, 0, 0, QModelIndex())) m.setItemsCanBeReordered(True) self.assertTrue( m.canDropMimeData(data, Qt.MoveAction, 0, 0, QModelIndex())) self.assertTrue( m.dropMimeData(data, Qt.MoveAction, 2, 0, QModelIndex())) self.assertEqual(m.rowCount(), 3) self.assertEqual(m.data(m.index(0, 0), QgsMapLayerModel.LayerIdRole), l1.id()) self.assertEqual(m.data(m.index(1, 0), QgsMapLayerModel.LayerIdRole), l2.id()) self.assertEqual(m.data(m.index(2, 0), QgsMapLayerModel.LayerIdRole), l1.id()) QgsProject.instance().removeMapLayers([l1.id(), l2.id()])