Documented the IndexPrefix enumeration in the library target.

This commit is contained in:
Javier Cicchelli 2025-03-04 23:45:00 +01:00
parent d59b64afdb
commit 299a196fff
2 changed files with 38 additions and 1 deletions

View File

@ -1,5 +1,8 @@
/// An enumeration that represents the folders where articles and tutorials data and assets will be stored.
enum IndexPrefix: String, CaseIterable { enum IndexPrefix: String, CaseIterable {
/// A folder that contains all articles' assets and data generated is stored.
case documentation case documentation
/// A folder that contains all tutorials' assets and data generated is stored.
case tutorials case tutorials
} }
@ -10,7 +13,7 @@ extension IndexPrefix: Pathable {
// MARK: Computed // MARK: Computed
var path: String { var path: String {
.init(format: .Format.pathRoot, rawValue) .init(format: .Format.Path.root, rawValue)
} }
} }

View File

@ -0,0 +1,34 @@
import Testing
@testable import AppLibrary
@Suite("IndexPrefix")
struct IndexPrefixTests {
@Test(arguments: zip(IndexPrefix.allCases, [String].paths))
func path(
for prefix: IndexPrefix,
expects pathExpected: String
) async throws {
// GIVEN
// WHEN
let path = prefix.path
// THEN
#expect(path == pathExpected)
}
}
// MARK: - Collection+Strings
private extension Collection where Element == String {
// MARK: Properties
static var paths: [Element] {[
"/documentation",
"/tutorials"
]}
}