def test_update_project_is_reference(meta: MetadataRepository, project: Project): project = meta.create_project(project) id = project._id project.name = "Test project2" expected_project = meta.update_project(project) assert id == expected_project._id assert "Test project2" == expected_project.name expected_project.name = "KEK" actual_project = meta.get_project_by_id(expected_project.id) assert_objects_equal_except_fields(expected_project, actual_project, excepted_fields=['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_update_not_existing_project(meta: MetadataRepository, project: Project): with pytest.raises(NonExistingProjectError): meta.update_project(project)
def test_update_project_source_is_changed(meta: MetadataRepository, project: Project): project = meta.create_project(project) project.name = "Test project2" new_project = meta.update_project(project) assert new_project == project