Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
def test_project__add_task__unbind(project: Project, task_factory):
    with pytest.raises(UnboundObjectError):
        project.add_task(task_factory())