public void FileChanged_Renamed_InvokesFileManager() { // Arrange var fileMonitor = new DummyFileMonitor(); fileMonitor.WatchedFoldersAndPackages.Add(new MonitoredDirectory("~/ResourcePackages/My package/Mvc/Views/Layouts", true)); var oldFilePath = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}\\ResourcePackages\\My package\\Mvc\\Views\\Layouts\\test.cshtml", fileMonitor.AppPhysicalPath); var expectedOldFilePath = "~/ResourcePackages/My package/Mvc/Views/Layouts/test.cshtml"; var newFilePath = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}\\ResourcePackages\\My package\\Mvc\\Views\\Layouts\\renamedTest.cshtml", fileMonitor.AppPhysicalPath); var expectedNewFilePath = "~/ResourcePackages/My package/Mvc/Views/Layouts/renamedTest.cshtml"; SystemManager.RunWithHttpContext( this.context, () => { // Act fileMonitor.FileChangedTest(newFilePath, FileChangeType.Renamed, oldFilePath); }); // Assert Assert.AreEqual(1, fileMonitor.ResourceFileManager.DummyFileInfos.Count(), "FileRenamed should be invoked."); Assert.AreEqual(FileChangeType.Renamed, fileMonitor.ResourceFileManager.DummyFileInfos.First().FileOperation, "FileRenamed should be invoked."); Assert.AreEqual("renamedTest.cshtml", fileMonitor.ResourceFileManager.DummyFileInfos.First().NewFileName, "FileRenamed is called with wrong file name."); Assert.AreEqual(expectedNewFilePath, fileMonitor.ResourceFileManager.DummyFileInfos.First().NewFilePath, "FileRenamed is called with wrong file path."); Assert.AreEqual("test.cshtml", fileMonitor.ResourceFileManager.DummyFileInfos.First().OldFileName, "FileRenamed is called with wrong old file name."); Assert.AreEqual(expectedOldFilePath, fileMonitor.ResourceFileManager.DummyFileInfos.First().OldFilePath, "FileRenamed is called with wrong old file path."); Assert.AreEqual("My package", fileMonitor.ResourceFileManager.DummyFileInfos.First().PackageName, "FileRenamed is called with wrong package name."); }
public void FileChanged_Deleted_InvokesFileManager() { //Arrange var fileMonitor = new DummyFileMonitor(); fileMonitor.WatchedFoldersAndPackages.Add(new MonitoredDirectory("~/ResourcePackages/My package/Mvc/Views/Layouts", true)); var filePath = fileMonitor.AppPhysicalPath + "\\ResourcePackages\\My package\\Mvc\\Views\\Layouts\\test.cshtml"; SystemManager.RunWithHttpContext(this.context, () => { //Act fileMonitor.FileChangedTest(filePath, FileChangeType.Deleted); }); //Assert Assert.AreEqual(1, fileMonitor.ResourceFileManager.DummyFileInfos.Count(), "FileDeleted method should be called."); Assert.AreEqual(FileChangeType.Deleted, fileMonitor.ResourceFileManager.DummyFileInfos.First().FileOperation, "FileDeleted method should be called."); Assert.AreEqual(filePath, fileMonitor.ResourceFileManager.DummyFileInfos.First().NewFilePath, "FileDeleted is called with wrong file name."); }
public void Start_NonExistingDirectories_AddedInQueuedFoldersAndPackages() { //Arrange var packageFolderPath = "~/" + PackageManager.PackagesFolder; var baseMvcPath = "~/Mvc/Views/Layouts"; var fileMonitor = new DummyFileMonitor(); var directoriesInfo = new List <MonitoredDirectory>(); directoriesInfo.Add(new MonitoredDirectory(packageFolderPath, true)); directoriesInfo.Add(new MonitoredDirectory(baseMvcPath, false)); //Act fileMonitor.Start(directoriesInfo); //Assert Assert.AreEqual(2, fileMonitor.QueuedFoldersAndPackages.Count(), "Both folders should be added in QueuedFoldersAndPackages"); Assert.AreEqual(packageFolderPath, fileMonitor.QueuedFoldersAndPackages[0].Path, "The package folder path is not added correctly."); Assert.IsTrue(fileMonitor.QueuedFoldersAndPackages[0].IsPackage, "The values in QueuedFoldersAndPackages are not correct."); Assert.AreEqual(baseMvcPath, fileMonitor.QueuedFoldersAndPackages[1].Path, "The base Mvc folder path is not added correctly."); Assert.IsFalse(fileMonitor.QueuedFoldersAndPackages[1].IsPackage, "The values in QueuedFoldersAndPackages are not correct."); }