def test_deletion(self, user_response): tab = GeneTab() model = Model() gene1 = Gene("r1") gene2 = Gene("r2") gene3 = Gene("r3") model.add_gene(gene1) model.add_gene(gene2) model.add_gene(gene3) model.setup_gene_table() assert len(model.genes) == model.QtGeneTable.rowCount() == 3 tab.set_model(model) tab.confirmDeletion = Mock(return_value=user_response) item = tab.dataTable.item(1, 0) selected_gene = 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_gene in model.genes) is not user_response assert tab.dataTable.findItems(selected_gene.id) is not user_response if user_response: assert len(model.genes) == model.QtGeneTable.rowCount() == 2
def test_edit_item_dialog_reject(self): tab = GeneTab() model = Model() gene1 = Gene("r1") model.add_gene(gene1) model.setup_gene_table() model.QtGeneTable.update_row_from_link = Mock() tab.set_model(model) tab.dataView.selectRow(0) assert model.QtGeneTable.update_row_from_link.called is False tab.editItemSlot() assert model.QtGeneTable.update_row_from_link.called is False