Skip to content

Commit

Permalink
Improve root enumeration test
Browse files Browse the repository at this point in the history
  • Loading branch information
claucambra committed Jun 19, 2024
1 parent c8aff8b commit 218d254
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions Tests/NextcloudFileProviderKitTests/EnumeratorTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ final class EnumeratorTests: XCTestCase {
}

func testRootEnumeration() async throws {
let db = Self.dbManager.ncDatabase() // Strong ref for in memory test db
debugPrint(db) // Avoid build-time warning about unused variable, ensure compiler won't free
let remoteInterface = MockRemoteInterface(account: Self.account, rootItem: rootItem)

let enumerator = Enumerator(
Expand All @@ -108,6 +110,35 @@ final class EnumeratorTests: XCTestCase {
Int(retrievedFolderItem.contentModificationDate??.timeIntervalSince1970 ?? 0),
Int(remoteFolder.modificationDate.timeIntervalSince1970)
)

// Important to keep in mind. Default behaviour is fast enumeration, not deep enumeration
let dbFolder = try XCTUnwrap(Self.dbManager.itemMetadataFromOcId(remoteFolder.identifier))
XCTAssertEqual(dbFolder.etag, "") // Folder is not visited yet, should not have etag
XCTAssertEqual(dbFolder.fileName, remoteFolder.name)
XCTAssertEqual(dbFolder.fileNameView, remoteFolder.name)
XCTAssertEqual(dbFolder.serverUrl + "/" + dbFolder.fileName, remoteFolder.remotePath)
XCTAssertEqual(dbFolder.account, Self.account.ncKitAccount)
XCTAssertEqual(dbFolder.user, Self.account.username)
XCTAssertEqual(dbFolder.userId, Self.account.username)
XCTAssertEqual(dbFolder.urlBase, Self.account.serverUrl)

let storedFolderItem = try XCTUnwrap(
Item.storedItem(
identifier: .init(remoteFolder.identifier),
remoteInterface: remoteInterface,
dbManager: Self.dbManager
)
)
storedFolderItem.dbManager = Self.dbManager
XCTAssertEqual(storedFolderItem.itemIdentifier.rawValue, remoteFolder.identifier)
XCTAssertEqual(storedFolderItem.filename, remoteFolder.name)
XCTAssertEqual(storedFolderItem.parentItemIdentifier.rawValue, rootItem.identifier)
XCTAssertEqual(storedFolderItem.creationDate, remoteFolder.creationDate)
XCTAssertEqual(
Int(storedFolderItem.contentModificationDate?.timeIntervalSince1970 ?? 0),
Int(remoteFolder.modificationDate.timeIntervalSince1970)
)
XCTAssertEqual(storedFolderItem.childItemCount?.intValue, 0) // Not visited yet, so no kids
}

func testWorkingSetEnumeration() async throws {
Expand Down

0 comments on commit 218d254

Please sign in to comment.