public void GetExistingItemsWithSubFolder()
        {
            Mock<IRSCommunicator> communicator = new Mock<IRSCommunicator>();
            CatalogItem item = new CatalogItem()
            {
                Path = "/Folder/report",
                Type = ItemTypeEnum.Report,
                Name = "report"
            };
            CatalogItem subfolder = new CatalogItem()
            {
                Path = "/Folder/subfolder",
                Type = ItemTypeEnum.Folder,
                Name = "subfolder"
            };
            CatalogItem subItem = new CatalogItem()
            {
                Path = "/Folder/subfolder/subreport",
                Type = ItemTypeEnum.Report,
                Name = "subreport"
            };

            communicator.Setup(c => c.GetExistingReports("Folder")).Returns(new[] { item, subfolder, subItem });

            RSRepository repo = new RSRepository(communicator.Object, null);
            Folder rootFolder = repo.GetExistingItems("Folder");
            Assert.AreEqual("Folder", rootFolder.Name);
            Assert.AreEqual("report", rootFolder.Reports.First().Name);
            Folder subFolder = rootFolder.SubFolders.First();
            Assert.AreEqual("subfolder", subFolder.Name);
            Assert.AreEqual("subreport", subFolder.Reports.First().Name);
        }
Exemple #2
0
 public Folder(CatalogItem item)
     : this()
 {
     Name = item.Name;
     Path = item.Path;
     string[] parts = Path.Split('/');
     Depth = parts.Length;
 }
Exemple #3
0
 public Report(CatalogItem item)
     : this()
 {
     Name = item.Name;
     Path = item.Path;
 }