@@ -1089,4 +1089,64 @@ final class FilesDatabaseManagerTests: XCTestCase {
10891089 XCTAssertNotNil ( retrievedParentIdentifier)
10901090 XCTAssertEqual ( retrievedParentIdentifier? . rawValue, remoteFolder. identifier)
10911091 }
1092+
1093+ func testMaterialisedFiles( ) async throws {
1094+ let itemA = RealmItemMetadata ( )
1095+ let itemB = RealmItemMetadata ( )
1096+ let itemC = RealmItemMetadata ( )
1097+ let folderA = RealmItemMetadata ( )
1098+ let folderB = RealmItemMetadata ( )
1099+ let folderC = RealmItemMetadata ( )
1100+ let notFolderA = RealmItemMetadata ( )
1101+ let notFolderB = RealmItemMetadata ( )
1102+
1103+ folderA. directory = true
1104+ folderB. directory = true
1105+ folderC. directory = true
1106+
1107+ itemA. ocId = " itemA "
1108+ itemB. ocId = " itemB "
1109+ itemC. ocId = " itemC "
1110+ folderA. ocId = " folderA "
1111+ folderB. ocId = " folderB "
1112+ folderC. ocId = " folderC "
1113+ notFolderA. ocId = " notFolderA "
1114+ notFolderB. ocId = " notFolderB "
1115+
1116+ itemA. account = Self . account. ncKitAccount
1117+ itemB. account = Self . account. ncKitAccount
1118+ itemC. account = " another account "
1119+ folderA. account = Self . account. ncKitAccount
1120+ folderB. account = Self . account. ncKitAccount
1121+ folderC. account = " another account "
1122+ notFolderA. account = Self . account. ncKitAccount
1123+ notFolderB. account = " another account "
1124+
1125+ itemA. downloaded = true
1126+ itemB. downloaded = false
1127+ itemC. downloaded = true
1128+ folderA. visitedDirectory = true
1129+ folderB. visitedDirectory = false
1130+ folderC. visitedDirectory = true
1131+ notFolderA. visitedDirectory = true
1132+ notFolderB. visitedDirectory = true
1133+
1134+ let realm = Self . dbManager. ncDatabase ( )
1135+ try realm. write {
1136+ realm. add ( itemA)
1137+ realm. add ( itemB)
1138+ realm. add ( itemC)
1139+ realm. add ( folderA)
1140+ realm. add ( folderB)
1141+ realm. add ( folderC)
1142+ }
1143+
1144+ let materialised =
1145+ Self . dbManager. materialisedItemMetadatas ( account: Self . account. ncKitAccount)
1146+ XCTAssertEqual ( materialised. count, 2 )
1147+
1148+ let materialisedOcIds = materialised. map ( \. ocId)
1149+ XCTAssertTrue ( materialisedOcIds. contains ( itemA. ocId) )
1150+ XCTAssertTrue ( materialisedOcIds. contains ( folderA. ocId) )
1151+ }
10921152}
0 commit comments