colibri/Tests/Library/Cases/Tasks/CreateFoldersTaskTests.swift

38 lines
978 B
Swift

import Foundation
import Testing
@testable import ColibriLibrary
struct CreateFoldersTaskTests {
// MARK: Properties
private let spy = FileServiceSpy()
// MARK: Functions tests
@Test(arguments: [URL.someCurrentFolder, .someDotFolder, .someTildeFolder])
func createFolders(with rootFolder: URL) async throws {
// GIVEN
let folders = CreateFoldersTask.foldersToCreate.map { rootFolder.appendingPath($0) }
let actions: [FileServiceMock.Action] = folders.map { .createFolder($0) }
let service = FileServiceMock(
currentFolder: .someCurrentFolder,
actions: actions,
spy: spy
)
let createFolders = CreateFoldersTask(fileService: service)
// WHEN
try await createFolders(at: rootFolder)
// THEN
for index in actions.indices {
#expect(spy.actions[index] == .folderCreated(folders[index]))
}
}
}