def test_flags_no_flags_for_invalid_index(): """ Check that no flags are returned for invalid index """ # Given model = TreeModel() # project = ResearchProject("") # project.add_plan().add_task() # When plan_index = model.index(0, 0, model.plans_index) task_index = model.index(0, 0, plan_index) # Then assert model.flags(plan_index) == Qt.NoItemFlags assert model.flags(task_index) == Qt.NoItemFlags
def test_flags_not_editable_for_ancestor_column(): """ The ancestor column should not be editable """ model = TreeModel() project = ResearchProject("") project.add_plan().add_task() model.set_project(project) # When plan_index = model.index(0, TreeModelCols.ANCESTOR, model.plans_index) task_index = model.index(0, TreeModelCols.ANCESTOR, plan_index) # Then assert model.flags(plan_index) & Qt.ItemIsEditable != Qt.ItemIsEditable assert model.flags(task_index) & Qt.ItemIsEditable != Qt.ItemIsEditable
def test_flags_set_for_line_items(): """ Check flags are set correctly for plans and tasks """ # Given model = TreeModel() project = ResearchProject("") project.add_plan().add_task() model.set_project(project) # When plan_index = model.index(0, 0, model.plans_index) task_index = model.index(0, 0, plan_index) # Then plan_flags = int(model.flags(plan_index)) task_flags = int(model.flags(task_index)) assert plan_flags & Qt.ItemIsSelectable == Qt.ItemIsSelectable assert plan_flags & Qt.ItemIsEditable == Qt.ItemIsEditable assert plan_flags & Qt.ItemIsEnabled == Qt.ItemIsEnabled assert task_flags & Qt.ItemIsSelectable == Qt.ItemIsSelectable assert task_flags & Qt.ItemIsEditable == Qt.ItemIsEditable assert task_flags & Qt.ItemIsEnabled == Qt.ItemIsEnabled