def test_deletion(self, user_response): tab = ReferenceTab() model = Model() reference1 = Reference("r1") reference2 = Reference("r2") reference3 = Reference("r3") model.add_reference(reference1) model.add_reference(reference2) model.add_reference(reference3) model.setup_reference_table() assert len(model.references) == model.QtReferenceTable.rowCount() == 3 tab.set_model(model) tab.confirmDeletion = Mock(return_value=user_response) item = tab.dataTable.item(1, 0) selected_reference = 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_reference.id in model.references) is not user_response if user_response: assert len( model.references) == model.QtReferenceTable.rowCount() == 2
def test_edit_item_dialog_reject(self): tab = ReferenceTab() model = Model() reference = Reference() model.add_reference(reference) model.setup_reference_table() model.QtReferenceTable.update_row_from_item = Mock() tab.set_model(model) tab.dataView.selectRow(0) assert model.QtReferenceTable.update_row_from_item.called is False tab.editItemSlot() assert model.QtReferenceTable.update_row_from_item.called is False