import Foundation import Testing @testable import LocalData @Suite struct FileStorageHelperTests { private let helper = FileStorageHelper.shared @Test func documentsDirectoryRoundTrip() async throws { let fileName = "test_file_\(UUID().uuidString).data" let data = Data("file-content".utf8) try await helper.write(data, to: .documents, fileName: fileName) let exists = await helper.exists(in: .documents, fileName: fileName) #expect(exists == true) let retrieved = try await helper.read(from: .documents, fileName: fileName) #expect(retrieved == data) let size = try await helper.size(of: .documents, fileName: fileName) #expect(size == Int64(data.count)) let list = try await helper.list(in: .documents) #expect(list.contains(fileName)) try await helper.delete(from: .documents, fileName: fileName) let afterDelete = await helper.exists(in: .documents, fileName: fileName) #expect(afterDelete == false) } @Test func customDirectoryCreation() async throws { let tempDir = FileManager.default.temporaryDirectory.appending(path: UUID().uuidString) let fileName = "custom.txt" let data = Data("custom".utf8) try await helper.write(data, to: .custom(tempDir), fileName: fileName) let retrieved = try await helper.read(from: .custom(tempDir), fileName: fileName) #expect(retrieved == data) // Cleanup try? FileManager.default.removeItem(at: tempDir) } @Test func readNonExistentFileReturnsNil() async throws { let result = try await helper.read(from: .caches, fileName: "nonexistent_\(UUID().uuidString)") #expect(result == nil) } }