Exemplo n.º 1
0
        public void CanGetObjects()
        {
            PageInfo result = new PageInfo
            {
                CurrentPath  = "basePath\\path",
                BrowserItems = new List <string>
                {
                    "Games",
                    "Software",
                    "Music",
                    "Films"
                }
            };
            Mock <IBrowserHelper> mock = new Mock <IBrowserHelper>();

            mock.Setup(m => m.GetItemsForSelectedPath("basePath\\path")).Returns(result);
            var controller = new BrowserController(mock.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            var response = controller.GetDirectoryItems("basePath", "path");



            PageInfo pageInfo;

            Assert.IsTrue(response.TryGetContentValue <PageInfo>(out pageInfo));

            Assert.AreEqual(result.BrowserItems[2], pageInfo.BrowserItems[2]);
            Assert.AreEqual(4, pageInfo.BrowserItems.Count);

            //Testing behavior of GetObjects method when it has parameters like GetObjects("C"\", "..") and must returns logical drives
            result = new PageInfo
            {
                CurrentPath  = String.Empty,
                BrowserItems = new List <string>
                {
                    "C:\\",
                    "D:\\",
                    "E:\\",
                }
            };

            mock = new Mock <IBrowserHelper>();
            mock.Setup(m => m.GetLogicalDrives()).Returns(result);
            controller               = new BrowserController(mock.Object);
            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            response = controller.GetDirectoryItems("C:\\", "..");
            Assert.IsTrue(response.TryGetContentValue <PageInfo>(out pageInfo));

            Assert.AreEqual(string.Empty, pageInfo.CurrentPath);
            Assert.AreEqual(3, pageInfo.BrowserItems.Count);
            Assert.AreEqual("D:\\", pageInfo.BrowserItems[1]);
            Assert.AreEqual("E:\\", pageInfo.BrowserItems[2]);
        }