def test_edit_database_params(qtbot, monkeypatch): table = DataBaseParameterTable() qtbot.addWidget(table) table.model.sync() # Fill rows with new variables monkeypatch.setattr( QtWidgets.QInputDialog, "getText", staticmethod(lambda *args, **kwargs: ("test_db1", True))) table.model.handle_parameter_rename(table.proxy_model.index(0, 0)) table.model.setData(table.model.index(0, 2), "test_project + 3.5") monkeypatch.setattr( QtWidgets.QInputDialog, "getText", staticmethod(lambda *args, **kwargs: ("test_db2", True))) table.model.handle_parameter_rename(table.proxy_model.index(1, 0)) table.model.setData(table.model.index(1, 2), "test_db1 ** 2") monkeypatch.setattr( QtWidgets.QInputDialog, "getText", staticmethod(lambda *args, **kwargs: ("test_db3", True))) table.model.handle_parameter_rename(table.proxy_model.index(2, 0)) table.model.setData(table.model.index(2, 1), "8.5") table.model.setData(table.model.index(2, 3), "testdb") # 5 + 3.5 = 8.5 -> 8.5 ** 2 = 72.25 assert DatabaseParameter.get(name="test_db2").amount == 72.25 # There are two parameters for `biosphere3` and one for `testdb` assert (DatabaseParameter.select().where( DatabaseParameter.database == "biosphere3").count()) == 2 assert (DatabaseParameter.select().where( DatabaseParameter.database == "testdb").count()) == 1
def test_edit_database_params(qtbot): table = DataBaseParameterTable() qtbot.addWidget(table) table.sync(table.build_df()) # Fill rows with new variables table.rename_parameter(table.proxy_model.index(0, 0), "test_db1") table.model.setData(table.model.index(0, 2), "test_project + 3.5") table.rename_parameter(table.proxy_model.index(1, 0), "test_db2") table.model.setData(table.model.index(1, 2), "test_db1 ** 2") table.rename_parameter(table.proxy_model.index(2, 0), "test_db3") table.model.setData(table.model.index(2, 1), "8.5") table.model.setData(table.model.index(2, 3), "testdb") # 5 + 3.5 = 8.5 -> 8.5 ** 2 = 72.25 assert DatabaseParameter.get(name="test_db2").amount == 72.25 # There are two parameters for `biosphere3` and one for `testdb` assert (DatabaseParameter.select() .where(DatabaseParameter.database == "biosphere3").count()) == 2 assert (DatabaseParameter.select() .where(DatabaseParameter.database == "testdb").count()) == 1