Add confirmed project deletion

This commit is contained in:
diyaa
2026-09-15 13:06:27 +02:00
parent bef00b19e1
commit 03bfd3ef75
6 changed files with 133 additions and 14 deletions
@@ -175,6 +175,28 @@ final class LocalSongProjectStoreTests: XCTestCase {
}
}
func testDeletesSongProjectAndRemovesItFromTheProjectList() async throws {
let store = LocalSongProjectStore(directoryURL: temporaryDirectoryURL)
let project = SongProject(
id: "deletable-project",
title: "Delete Me",
idea: "Remove this local project"
)
try await store.create(project)
try await store.delete(id: project.id)
let remainingProjects = try await store.loadProjectList()
XCTAssertTrue(remainingProjects.isEmpty)
do {
_ = try await store.open(id: project.id)
XCTFail("Expected deleted project open to fail.")
} catch let error as LocalSongProjectStoreError {
XCTAssertEqual(error, .projectNotFound(project.id))
}
}
func testOpenMissingProjectThrowsNotFound() async throws {
let store = LocalSongProjectStore(directoryURL: temporaryDirectoryURL)