Add confirmed project deletion
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user