public void Init() { // arrange var vm = new FieldFileViewModel(); var editableRoot = Mock.Create<IEditableRoot>(Behavior.Loose); var getSystemOptionsMethodWasCalled = false; Mock.NonPublic.Arrange(vm, "GetSystemOptions").DoInstead(() => getSystemOptionsMethodWasCalled = true); var setStateWasCalled = false; Mock.NonPublic.Arrange(vm, "SetState").DoInstead(() => setStateWasCalled = true); var value = Mock.Create<ICloneable>(Behavior.Loose); Mock.Arrange(() => value.Clone()).Returns(new object()); var detailsViewModel = Mock.Create<IDetailsViewModel>(Behavior.Loose); // act vm.Init(editableRoot, value, detailsViewModel); // assert Assert.IsTrue(getSystemOptionsMethodWasCalled); Assert.IsTrue(setStateWasCalled); Assert.IsNotNull(new PrivateAccessor(vm).GetField("_originalFileProcess")); }
public void Width() { // arrange var vm = new FieldFileViewModel(); var widthWasRaises = false; Mock.NonPublic.Arrange(vm, "RaisePropertyChanged", "Width").DoInstead(() => { widthWasRaises = true; }); // act vm.Width = 0; // assert Assert.IsFalse(widthWasRaises); // act vm.Width = 39; // assert Assert.IsTrue(widthWasRaises); Assert.AreEqual(200, vm.Width); // act vm.Width = double.PositiveInfinity; // assert Assert.AreEqual(200, vm.Width); // act vm.Width = 41; // assert Assert.AreEqual(1, vm.Width); }
public void CurrentFileProcess() { // arrange var vm = new FieldFileViewModel(); var privateAccessor = new PrivateAccessor(vm); // act var currentFileProcess = privateAccessor.GetProperty("CurrentFileProcess"); // assert Assert.IsNull(currentFileProcess); // arrange var fileProcess = Mock.Create<IFileProcess>(Behavior.CallOriginal); vm.Value = fileProcess; // act currentFileProcess = privateAccessor.GetProperty("CurrentFileProcess"); // assert Assert.AreEqual(fileProcess, currentFileProcess); }
public void PropertiesTests() { var vm = new FieldFileViewModel(); TestsHelper.TestPublicPropertiesGetSet(vm, x => vm.Width, x => vm.VisibilityRules, x => vm.MaxFileSize); }
public void NavigateUri() { // arrange var vm = new FieldFileViewModel(); // act var navigateUri = vm.NavigateUri; // assert Assert.IsNull(navigateUri); // arrange var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); fileProcess.Id = 123; fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.doc"; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); vm.DocHandlerUrl = "http://localhost:5558/"; // act navigateUri = vm.NavigateUri; // assert Assert.AreEqual("http://localhost:5558/DocHandler.ashx?FileId=123", navigateUri); }
public void Message11() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); fileProcess.OriginalFileName = "1.txt"; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); // act var value = new PrivateAccessor(vm).GetProperty("Message11"); // assert Assert.AreEqual("The process cannot access file '1.txt' because it is being used by another process.", value); }
public void Message9() { // arrange var vm = new FieldFileViewModel(); // act var value = new PrivateAccessor(vm).GetProperty("Message9"); // assert Assert.AreEqual(string.Format("Uploaded file in temp location was not found{0}Please verify System Options\\System Paths", Environment.NewLine), value); }
public void Message1() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); fileProcess.OriginalFileName = "1.txt"; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); // act var value = new PrivateAccessor(vm).GetProperty("Message1"); // assert Assert.AreEqual("File '1.txt' uploaded successfully.", value); }
public void SaveObjectState() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(x => x.Implements<ITrackStatus>()); fileProcess.FileName = "32613DE4-8B08-4AD6-A05B-E711226006DB.txt"; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); var parentModel = Mock.Create<IModel>(Behavior.Loose); Mock.Arrange(() => parentModel.IsNew).Returns(true); Mock.Arrange(() => parentModel.CanWriteProperty(Arg.AnyString)).Returns(true); Mock.Arrange(() => vm.ParentModel).Returns(parentModel); vm.Property = ReflectionHelper.GetProperty<IModel>(x => x.File); // act var privateAccessor = new PrivateAccessor(vm); privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual("Please save to see the file options.", vm.Message); Assert.AreEqual(FileControlMode.NotifySuccess, vm.CurrentState); }
public void TemplateState() { // arrange var vm = new FieldFileViewModel { TemplateData = new FileProcessAttribute("eCar_p", "DocumentType_f", "92EC314E-B4E2-4738-B965-21A363C12BC8", @"{ ""FilterGuid"": ""3732f424-216c-4fab-a2dc-a50c405512c3"", ""TimeStamp"": ""09/20/2013 15:05:08"", ""Version"": ""100.1"", ""Body"": { ""ColumnName"": ""Notes_f"", ""Operator"": ""IsEqualTo"", ""Value"": ""%{\""Type\"":\""Udp\"",\""DisplayName\"":\""Value for Notes:\"",\""SystemName\"":\""Notes_f\"",\""DefaultValue\"":\""\""}%"", ""MemberType"": ""System.String"" } }") }; var fileProcess = Mock.Create<IFileProcess>(x => x.Implements<ITrackStatus>()); Mock.Arrange(() => fileProcess.IsNew).Returns(true); fileProcess.Locked = true; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); var dynamicManager = Mock.Create<IDynamicTypeManager>(Behavior.Loose); var dataPortalResult = new DataPortalResult<IInfoList>(null, new Exception(), null); Mock.Arrange(() => dynamicManager.BeginGetList(Arg.AnyString, Arg.IsAny<Action<object, DataPortalResult<IInfoList>>>(), Arg.IsAny<SortList>(), Arg.AnyInt, Arg.AnyString, Arg.AnyInt, Arg.AnyString, Arg.AnyString, Arg.IsAny<IEnumerable<string>>())) .DoInstead<string, Action<object, DataPortalResult<IInfoList>>, SortList, int, string, int, string, string, IEnumerable<string>>( (processSystemName, callback, sortList, pageSize, filterString, pageNumber, groupColumn, filterExpression, noFilteredColumns) => callback(null, dataPortalResult)); vm.TheDynamicTypeManager = dynamicManager; var privateAccessor = new PrivateAccessor(vm); // act privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual(LanguageService.Translate("Msg_TemplateNotFound"), vm.Message); Assert.AreEqual(FileControlMode.NotifyFail, vm.CurrentState); // arrange dataPortalResult = new DataPortalResult<IInfoList>(new CustomInfoList(), null, null); // act privateAccessor.CallMethod("SetState"); // assert Assert.IsNotNull(vm.TemplateList); Assert.AreEqual(FileControlMode.LoadTemplate, vm.CurrentState); // arrange vm.TemplateList = null; vm.CurrentState = FileControlMode.Download; vm.TemplateData = new FileProcessAttribute("eCar_p", "DocumentType_f", null, null); // act privateAccessor.CallMethod("SetState"); // assert Assert.IsNotNull(vm.TemplateList); Assert.AreEqual(FileControlMode.LoadTemplate, vm.CurrentState); // arrange vm.TemplateList = null; vm.CurrentState = FileControlMode.Download; vm.TemplateData = new FileProcessAttribute("eCar_p", "DocumentType_f", "CC5899F0-015C-4666-8F18-EFF073D99DE5", null); Mock.Arrange(() => dynamicManager.GetFilterInfoType(Arg.AnyString)).Returns((Type)null); // act privateAccessor.CallMethod("SetState"); // assert Assert.IsNotNull(vm.TemplateList); Assert.AreEqual(FileControlMode.LoadTemplate, vm.CurrentState); // arrange vm.TemplateList = null; vm.CurrentState = FileControlMode.Download; Mock.Arrange(() => dynamicManager.GetFilterInfoType(Arg.AnyString)).Returns(new InfoList().GetType()); // act privateAccessor.CallMethod("SetState"); // assert Assert.IsNotNull(vm.TemplateList); Assert.AreEqual(FileControlMode.LoadTemplate, vm.CurrentState); // arrange vm.TemplateList = null; vm.CurrentState = FileControlMode.Download; InfoList.FilterList = new Filter[1]; InfoList.FilterList[0] = new Filter("Only Approved Items", Guid.NewGuid(), string.Empty); var parentModel = Mock.Create<IModel>(Behavior.Loose); Mock.Arrange(() => parentModel.CanWriteProperty(Arg.AnyString)).Returns(true); Mock.Arrange(() => vm.ParentModel).Returns(parentModel); vm.Property = ReflectionHelper.GetProperty<IModel>(x => x.File); Mock.Arrange(() => dynamicManager.GetFilterInfoType(Arg.AnyString)).Returns(new InfoList().GetType()); // act privateAccessor.CallMethod("SetState"); // assert Assert.IsNull(vm.TemplateList); Assert.AreNotEqual(FileControlMode.LoadTemplate, vm.CurrentState); // arrange InfoList.FilterList[0] = new Filter("Only Approved Items", Guid.Parse("CC5899F0-015C-4666-8F18-EFF073D99DE5"), string.Empty); // act privateAccessor.CallMethod("SetState"); // assert Assert.IsNotNull(vm.TemplateList); Assert.AreEqual(FileControlMode.LoadTemplate, vm.CurrentState); }
public void RestrictedRightsState() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(x => x.Implements<ITrackStatus>()); Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); var parentModel = Mock.Create<IEditableRoot>(x => x.Implements<Csla.Security.IAuthorizeReadWrite>()); Mock.Arrange(() => ((Csla.Security.IAuthorizeReadWrite)parentModel).CanWriteProperty(Arg.AnyString)).Returns(true); Mock.Arrange(() => vm.ParentModel).Returns(parentModel); vm.Property = Mock.Create<PropertyInfo>(Behavior.Loose); var privateAccessor = new PrivateAccessor(vm); Mock.Arrange(() => fileProcess.FileName).Throws<Exception>(); try { // act privateAccessor.CallMethod("SetState"); } catch { } Assert.AreNotEqual(FileControlMode.View, vm.CurrentState); Assert.AreNotEqual(FileControlMode.Empty, vm.CurrentState); // arrange Mock.Arrange(() => fileProcess.FileName).Returns("32613DE4-8B08-4AD6-A05B-E711226006DB.txt"); Mock.Arrange(() => ((Csla.Security.IAuthorizeReadWrite)parentModel).CanWriteProperty(Arg.AnyString)).Returns(false); // act privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual(FileControlMode.View, vm.CurrentState); // arrange Mock.Arrange(() => fileProcess.FileName).Returns((string)null); // act privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual(FileControlMode.Empty, vm.CurrentState); }
public void SetStateUseReport() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(x => x.Implements<ITrackStatus>()); fileProcess.UseReport = true; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); var privateAccessor = new PrivateAccessor(vm); // act privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual("Invalid setup.", privateAccessor.GetProperty("ExceptionMessage")); Assert.AreEqual(FileControlMode.Error, vm.CurrentState); // arrange fileProcess.ReportName = "eCarProcessMainReport.trdx"; // act privateAccessor.CallMethod("SetState"); // assert Assert.IsNotNull(fileProcess.FileName); Assert.AreEqual("Save item to view file.", vm.Message); Assert.AreEqual(FileControlMode.NotifySuccess, vm.CurrentState); // act privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual(FileControlMode.View, vm.CurrentState); }
public void WhenFileIncludeInCheckListFileNotFound() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(x => x.Implements<ITrackStatus>()); Mock.Arrange(() => ((ITrackStatus)fileProcess).IsChild).Returns(true); Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); var dynamicManager = Mock.Create<IDynamicTypeManager>(); var dataPortalResult = new DataPortalResult<IEditableRoot>(null, new Exception(), null); Mock.Arrange(() => dynamicManager.BeginGetEditableRoot(Constants.FileProcessName, Arg.AnyInt, Arg.IsAny<Action<object, DataPortalResult<IEditableRoot>>>())) .DoInstead<string, int, Action<object, DataPortalResult<IEditableRoot>>>((processName, id, callback) => callback(null, dataPortalResult)); vm.TheDynamicTypeManager = dynamicManager; var logger = Mock.Create<ILogger>(Behavior.CallOriginal); var wasLogged = false; Mock.Arrange(() => logger.Log(LogSeverity.Error, typeof(FieldFileViewModel).FullName, Arg.IsAny<Exception>())).DoInstead(() => wasLogged = true); vm.Logger = logger; var privateAccessor = new PrivateAccessor(vm); // act privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual("File not found", vm.Message); Assert.AreEqual(new Exception().ToString(), privateAccessor.GetProperty("ExceptionMessage")); Assert.AreEqual(FileControlMode.NotifyFail, vm.CurrentState); Assert.IsTrue(wasLogged); // arrange vm.Message = null; vm.CurrentState = FileControlMode.Download; wasLogged = false; dataPortalResult = new DataPortalResult<IEditableRoot>(Mock.Create<IEditableRoot>(Behavior.Loose), null, null); // act privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual("File not found", vm.Message); Assert.IsNull(privateAccessor.GetProperty("ExceptionMessage")); Assert.AreEqual(FileControlMode.NotifyFail, vm.CurrentState); Assert.IsTrue(wasLogged); }
public void WhenFileIncludeInCheckList() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(x => x.Implements<ITrackStatus>()); Mock.Arrange(() => ((ITrackStatus)fileProcess).IsChild).Returns(true); Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); var dynamicManager = Mock.Create<IDynamicTypeManager>(Behavior.CallOriginal); var newValue = Mock.Create<IFileProcess>(Behavior.Loose); newValue.Id = 1; var setStateWasCalled = false; Mock.Arrange(() => dynamicManager.BeginGetEditableRoot(Constants.FileProcessName, Arg.AnyInt, Arg.IsAny<Action<object, DataPortalResult<IEditableRoot>>>())) .DoInstead<string, int, Action<object, DataPortalResult<IEditableRoot>>>((processName, id, callback) => { Mock.NonPublic.Arrange(vm, "SetState").DoInstead(() => setStateWasCalled = true); callback(null, new DataPortalResult<IEditableRoot>(newValue, null, null)); }); vm.TheDynamicTypeManager = dynamicManager; // act new PrivateAccessor(vm).CallMethod("SetState"); // assert Assert.AreEqual(newValue, vm.Value); Assert.IsTrue(setStateWasCalled); }
public void SetStateFirstReturn() { // arrange var vm = new FieldFileViewModel(); var privateAccessor = new PrivateAccessor(vm); try { // act privateAccessor.CallMethod("SetState"); } catch (Exception ex) { // assert Assert.Fail("Expected no exception, but got: " + ex.Message); } }
public void ClipboardCopyErrorVisibility() { // arrange var vm = new FieldFileViewModel(); // act var clipboardCopyErrorVisibility = vm.ClipboardCopyErrorVisibility; // assert Assert.IsFalse(clipboardCopyErrorVisibility); // arrange vm.Value = new object(); // act clipboardCopyErrorVisibility = vm.ClipboardCopyErrorVisibility; // assert Assert.IsFalse(clipboardCopyErrorVisibility); // arrange new PrivateAccessor(vm).SetProperty("ExceptionMessage", new FileNotFoundException().ToString()); // act clipboardCopyErrorVisibility = vm.ClipboardCopyErrorVisibility; // assert Assert.IsTrue(clipboardCopyErrorVisibility); }
public void SelectedFileTemplateId() { // arrange var vm = new FieldFileViewModel(); var selectedFileTemplateIdWasRaises = false; Mock.NonPublic.Arrange(vm, "RaisePropertyChanged", "SelectedFileTemplateId").DoInstead(() => { selectedFileTemplateIdWasRaises = true; }); var selectTemplateFileCommandWasRaises = false; Mock.Arrange(() => vm.SelectTemplateFileCommand.RaiseCanExecuteChanged()).DoInstead(() => selectTemplateFileCommandWasRaises = true); // act vm.SelectedFileTemplateId = 1; // assert Assert.IsTrue(selectedFileTemplateIdWasRaises); Assert.IsTrue(selectTemplateFileCommandWasRaises); Assert.AreEqual(1, vm.SelectedFileTemplateId); // arrange selectedFileTemplateIdWasRaises = false; // act vm.SelectedFileTemplateId = 1; // assert Assert.IsFalse(selectedFileTemplateIdWasRaises); }
public void Upload() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(x => x.Implements<ITrackStatus>()); Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); var parentModel = Mock.Create<IModel>(Behavior.Loose); Mock.Arrange(() => parentModel.CanWriteProperty(Arg.AnyString)).Returns(true); Mock.Arrange(() => vm.ParentModel).Returns(parentModel); vm.Property = ReflectionHelper.GetProperty<IModel>(x => x.File); // act new PrivateAccessor(vm).CallMethod("SetState"); // assert Assert.AreEqual(FileControlMode.Upload, vm.CurrentState); Assert.IsTrue(vm.UploadCancelButtonIsHidden); }
public void PrivateMessageFields() { // arrange var vm = new FieldFileViewModel(); var privateAccessor = new PrivateAccessor(vm); // act var message2 = privateAccessor.GetField("_message2"); var message3 = privateAccessor.GetField("_message3"); var message4 = privateAccessor.GetField("_message4"); var message5 = privateAccessor.GetField("_message5"); var message6 = privateAccessor.GetField("_message6"); var message8 = privateAccessor.GetField("_message8"); var message13 = privateAccessor.GetField("_message13"); // assert Assert.AreEqual(LanguageService.Translate("Msg_TemplateNotFound"), message2); Assert.AreEqual(LanguageService.Translate("Msg_SaveToSeeFileOptions"), message3); Assert.AreEqual(LanguageService.Translate("Msg_SystemPathsIsEmpty"), message4); Assert.AreEqual(LanguageService.Translate("Msg_InvalidSystemPath"), message5); Assert.AreEqual(LanguageService.Translate("Msg_DocumentProcessorNotResponding"), message6); Assert.AreEqual(LanguageService.Translate("Msg_FileUploadError"), message8); Assert.AreEqual(LanguageService.Translate("Msg_FileNotFound"), message13); }
public void LockedState() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(x => x.Implements<ITrackStatus>()); fileProcess.FileName = Guid.NewGuid() + ".txt"; fileProcess.Locked = true; fileProcess.LockedByAccountId = 2; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); Mock.Arrange(() => Utils.CurrentUserAccountId).Returns(2); var parentModel = Mock.Create<IModel>(Behavior.Loose); Mock.Arrange(() => parentModel.CanWriteProperty(Arg.AnyString)).Returns(false); Mock.Arrange(() => vm.ParentModel).Returns(parentModel); vm.Property = ReflectionHelper.GetProperty<IModel>(x => x.File); // act var privateAccessor = new PrivateAccessor(vm); privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual(FileControlMode.View, vm.CurrentState); // arrange Mock.Arrange(() => parentModel.CanWriteProperty(Arg.AnyString)).Returns(true); // act privateAccessor.CallMethod("SetState"); // assert Assert.AreEqual(FileControlMode.Locked, vm.CurrentState); }
public void Message10() { // arrange var vm = new FieldFileViewModel(); // act var value = new PrivateAccessor(vm).GetProperty("Message10"); // assert Assert.AreEqual(string.Format("Error saving instance of new uploaded file{0}Please try again{0}If the problem persists, try to create a new record, and re-check the System Options\\System Paths", Environment.NewLine), value); }
public void LockedByMessage() { // arrange var vm = new FieldFileViewModel(); // act var lockedByMessage = vm.LockedByMessage; // assert Assert.IsNull(lockedByMessage); // arrange var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); Mock.Arrange(() => vm.CanEdit).Returns(false); // act lockedByMessage = vm.LockedByMessage; // assert Assert.IsNull(lockedByMessage); // arrange Mock.Arrange(() => vm.CanEdit).Returns(true); fileProcess.Locked = false; // act lockedByMessage = vm.LockedByMessage; // assert Assert.IsNull(lockedByMessage); // arrange fileProcess.Locked = true; fileProcess.LockedByAccountId = -1; // act lockedByMessage = vm.LockedByMessage; // assert Assert.AreEqual("Checked Out By: admin", lockedByMessage); // arrange fileProcess.LockedByAccountId = 1; // act lockedByMessage = vm.LockedByMessage; // assert Assert.AreEqual("Checked Out By: unknown", lockedByMessage); // arrange fileProcess.LockedByAccountName = "esmirnov"; // act lockedByMessage = vm.LockedByMessage; // assert Assert.AreEqual("Checked Out By: esmirnov", lockedByMessage); // arrange fileProcess.LockedDate = DateTime.Today; // act lockedByMessage = vm.LockedByMessage; // assert Assert.AreEqual(string.Format("Checked Out By: esmirnov{0}Checked Out Date: {1}", Environment.NewLine, fileProcess.LockedDate.Value.ToShortDateString()), lockedByMessage); // arrange Mock.NonPublic.Arrange<bool>(vm, "Orientation").Returns(true); // act lockedByMessage = vm.LockedByMessage; // assert Assert.AreEqual(string.Format("Checked Out By: esmirnov\tChecked Out Date: {0}", fileProcess.LockedDate.Value.ToShortDateString()), lockedByMessage); }
public void TemplateWasSelectedMessage() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); fileProcess.OriginalFileName = "1.txt"; Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); // act var templateWasSelectedMessage = vm.TemplateWasSelectedMessage; // assert Assert.AreEqual("Template File '1.txt' was loaded", templateWasSelectedMessage); }
public void LockedByMessageVisibility() { // arrange var vm = new FieldFileViewModel(); // act var lockedByMessageVisibility = vm.LockedByMessageVisibility; // assert Assert.IsFalse(lockedByMessageVisibility); // arrange Mock.NonPublic.Arrange<string>(vm, "LockedByMessage").Returns("Checked Out By: esmirnov"); // act lockedByMessageVisibility = vm.LockedByMessageVisibility; // assert Assert.IsTrue(lockedByMessageVisibility); }
public void DialogFilter() { // arrange var vm = new FieldFileViewModel(); // act var value = vm.DialogFilter; // assert Assert.AreEqual(string.Empty, value); // arranage var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); // act value = vm.DialogFilter; // assert Assert.AreEqual(string.Empty, value); // arrange fileProcess.FileName = string.Empty; // act value = vm.DialogFilter; // assert Assert.AreEqual(string.Empty, value); // arrange fileProcess.FileName = " "; // act value = vm.DialogFilter; // assert Assert.AreEqual(string.Empty, value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0"; // act value = vm.DialogFilter; // assert Assert.AreEqual(string.Empty, value); fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.pdf"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Adobe Reader File (*.pdf)|*.pdf", value); fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.doc"; // act value = vm.DialogFilter; // assert Assert.AreEqual("MS Word File (*.doc)|*.doc", value); fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.docx"; // act value = vm.DialogFilter; // assert Assert.AreEqual("MS Word File (*.docx)|*.docx", value); fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.rtf"; // act value = vm.DialogFilter; // assert Assert.AreEqual("MS Word File (*.rtf)|*.rtf", value); fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.scv"; // act value = vm.DialogFilter; // assert Assert.AreEqual("MS Excel File (*.scv)|*.scv", value); fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.xlt"; // act value = vm.DialogFilter; // assert Assert.AreEqual("MS Excel File (*.xlt)|*.xlt", value); fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.xltx"; // act value = vm.DialogFilter; // assert Assert.AreEqual("MS Excel File (*.xltx)|*.xltx", value); fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.txt"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Text File (*.txt)|*.txt", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.txt"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Text File (*.txt)|*.txt", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.jpg"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Image File (*.jpg)|*.jpg", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.jpeg"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Image File (*.jpeg)|*.jpeg", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.bmp"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Image File (*.bmp)|*.bmp", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.tif"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Image File (*.tif)|*.tif", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.tiff"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Image File (*.tiff)|*.tiff", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.htm"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Web Page (*.htm)|*.htm", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.html"; // act value = vm.DialogFilter; // assert Assert.AreEqual("Web Page (*.html)|*.html", value); // arrange fileProcess.FileName = "603512C1-87D1-48BA-9C3F-13DA0C9EF5C0.dll"; // act value = vm.DialogFilter; // assert Assert.AreEqual("File (*.dll)|*.dll", value); }
public void FileSavedMessageVisibility() { // arrange var vm = new FieldFileViewModel(); // act var fileSavedMessageVisibility = vm.FileSavedMessageVisibility; // assert Assert.IsFalse(fileSavedMessageVisibility); // arrange new PrivateAccessor(vm).SetField("_dialog", Mock.Create<SaveFileDialog>(Behavior.CallOriginal)); // act fileSavedMessageVisibility = vm.FileSavedMessageVisibility; // assert Assert.IsTrue(fileSavedMessageVisibility); }
public void MaxFileSize() { // arrange var vm = new FieldFileViewModel(); var logger = Mock.Create<ILogger>(Behavior.CallOriginal); var logWasCalled = false; Mock.Arrange(() => logger.Log(LogSeverity.Error, typeof(FieldFileViewModel).ToString(), "There is no cached SystemOptions.")).DoInstead(() => logWasCalled = true); vm.Logger = logger; // act var maxFileSize = vm.MaxFileSize; // assert Assert.IsTrue(logWasCalled); Assert.AreEqual((ulong)0, maxFileSize); // arrange logWasCalled = false; var systemOptions = Mock.Create<ISystemOptionsInfo>(Behavior.Loose); systemOptions.MaxFileSize = 10 * 1024; Mock.Arrange(() => SystemOptionsInfo.SystemOptions).Returns(systemOptions); // act maxFileSize = vm.MaxFileSize; // assert Assert.IsFalse(logWasCalled); Assert.AreEqual((ulong)10 * 1024, maxFileSize); }
public void FileNameMessage() { // arrange var vm = new FieldFileViewModel(); // act var fileNameMessage = vm.FileNameMessage; // assert Assert.IsNull(fileNameMessage); // arrange var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); vm.Value = fileProcess; // act fileNameMessage = vm.FileNameMessage; // assert Assert.IsNull(fileNameMessage); // arrange fileProcess.OriginalFileName = "1.txt"; // act fileNameMessage = vm.FileNameMessage; // assert Assert.AreEqual("File Name: 1.txt", fileNameMessage); }
public void GetFileCommandThrowException() { // arrange var vm = new FieldFileViewModel(); var fileProcess = Mock.Create<IFileProcess>(Behavior.Loose); Mock.NonPublic.Arrange<IFileProcess>(vm, "CurrentFileProcess").Returns(fileProcess); try { // act vm.GetFileCommand.Execute(null); } catch (Exception ex) { Assert.IsInstanceOfType(ex, typeof(SecurityException), "Dialogs must be user-initiated."); return; } Assert.IsFalse(true); }
public void GetSystemOptions() { // arrange var vm = new FieldFileViewModel(); Mock.Arrange(() => Arg.IsAny<SystemPathsInfo>().BeginGetSystemPathsAsync()).Throws<Exception>(); var logger = Mock.Create<ILogger>(Behavior.CallOriginal); var logWasCalled = false; Mock.Arrange(() => logger.Log(LogSeverity.Error, typeof(FieldFileViewModel).ToString(), Arg.IsAny<Exception>())).DoInstead(() => logWasCalled = true); vm.Logger = logger; var privateAccessor = new PrivateAccessor(vm); // act privateAccessor.CallMethod("GetSystemOptions"); // assert Assert.AreEqual("Invalid System Paths. Contact your administrator, please.", vm.Message); var exceptionMessage = (string)privateAccessor.GetProperty("ExceptionMessage"); Assert.IsTrue(exceptionMessage.StartsWith(new Exception().ToString())); Assert.AreEqual(FileControlMode.NotifyFail, vm.CurrentState); Assert.IsTrue(logWasCalled); // arrange vm.Message = null; privateAccessor.SetProperty("ExceptionMessage", new Exception().ToString()); vm.CurrentState = FileControlMode.Download; var systemPathsInfo = Mock.Create<SystemPathsInfo>(Behavior.Loose); var task = new Task<SystemPathsInfo>(() => systemPathsInfo); task.RunSynchronously(); Mock.Arrange(() => Arg.IsAny<SystemPathsInfo>().BeginGetSystemPathsAsync()).Returns(() => task); // act privateAccessor.CallMethod("GetSystemOptions"); // assert Assert.AreEqual("System Paths in System Option menu is empty. Please fill in before using FileControl", vm.Message); Assert.IsNull(privateAccessor.GetProperty("ExceptionMessage")); Assert.AreEqual(FileControlMode.NotifyFail, vm.CurrentState); // arrange vm.Message = null; privateAccessor.SetProperty("ExceptionMessage", new Exception().ToString()); vm.CurrentState = FileControlMode.Download; Mock.Arrange(() => systemPathsInfo.FileUploadURI).Returns("http://*****:*****@"D:\Projects\Cebos\Veyron\Cebos.Veyron.Web\FileStorage"); var navigateUriWasRaises = false; Mock.NonPublic.Arrange(vm, "RaisePropertyChanged", "NavigateUri").DoInstead(() => navigateUriWasRaises = true); // act privateAccessor.CallMethod("GetSystemOptions"); Assert.AreEqual("http://localhost:5558/FileUploadHandler.ashx", vm.UploadServiceUrl); Assert.AreEqual("/FileStorage", vm.TargetFolder); Assert.AreEqual("http://localhost:5558/", vm.DocHandlerUrl); Assert.IsTrue(navigateUriWasRaises); }