def test_project__add_task__new(set_project_id, meta: MetadataRepository, project_b: Project, task_factory): assert len(project_b.tasks) == 0 task: Task = task_factory() if set_project_id: task.project = project_b project_b.add_task(task) assert len(project_b.tasks) == 1 task_id = task.id assert task_id is not None assert task == meta.get_task_by_id(task_id) assert task == project_b.tasks[task_id] assert task == project_b.tasks(task.name)
def test_update_project_with_tasks(meta: MetadataRepository, project: Project, task: Task): project = meta.create_project(project) task.project = project task = meta.create_task(task) project.add_task(task) project = update_object_fields(project, excepted_fields=['id', 'tasks']) task = update_object_fields(task, excepted_fields=['id', 'models', 'project_id']) updated_project = meta.update_project(project) assert updated_project is project assert project.has_meta_repo assert "Test project2" == updated_project.name assert project == meta.get_project_by_id(project.id) assert len(updated_project.tasks) == 1 assert task.id in updated_project.tasks assert task == updated_project.tasks.get(task.id)
def test_project__add_task__unbind(project: Project, task_factory): with pytest.raises(UnboundObjectError): project.add_task(task_factory())