def test_deletion(self, user_response): tab = MetaboliteTab() model = Model() metabolite1 = Metabolite("m1") metabolite2 = Metabolite("m2") metabolite3 = Metabolite("m3") model.add_metabolites([metabolite1, metabolite2, metabolite3]) model.setup_metabolite_table() assert len( model.metabolites) == model.QtMetaboliteTable.rowCount() == 3 tab.set_model(model) tab.confirmDeletion = Mock(return_value=user_response) item = tab.dataTable.item(1, 0) selected_metabolite = item.link source_index = tab.dataTable.indexFromItem(item) view_index = tab.proxyModel.mapFromSource(source_index) tab.dataView.selectRow(view_index.row()) assert tab.confirmDeletion.called is False tab.deleteItemSlot() assert tab.confirmDeletion.called is True assert (selected_metabolite in model.metabolites) is not user_response assert tab.dataTable.findItems( selected_metabolite.id) is not user_response if user_response: assert len( model.metabolites) == model.QtMetaboliteTable.rowCount() == 2
def test_edit_item_dialog_reject(self): tab = MetaboliteTab() model = Model() metabolite1 = Metabolite("m1") model.add_metabolites([metabolite1]) model.setup_metabolite_table() model.QtMetaboliteTable.update_row_from_link = Mock() tab.set_model(model) tab.dataView.selectRow(0) assert model.QtMetaboliteTable.update_row_from_link.called is False tab.editItemSlot() assert model.QtMetaboliteTable.update_row_from_link.called is False