public void GetWebRequestDesignerViewModel_Constructor_PreviewViewModel_NotNull() { var properties = new Dictionary<string, Mock<ModelProperty>>(); var propertyCollection = new Mock<ModelPropertyCollection>(); var url = new Mock<ModelProperty>(); url.SetupProperty(p => p.ComputedValue, null); properties.Add("Url", url); propertyCollection.Protected().Setup<ModelProperty>("Find", "Url", true).Returns(url.Object); var modelItemMock = new Mock<ModelItem>(); modelItemMock.Setup(s => s.Properties).Returns(propertyCollection.Object); var sut = new GetWebRequestWithTimeoutDesignerViewModel(modelItemMock.Object); Assert.IsNotNull(sut.PreviewViewModel); }
public void GetWebRequestDesignerViewModel_SetUrl_EmptyString_CanPreviewIsFalse() { var properties = new Dictionary<string, Mock<ModelProperty>>(); var propertyCollection = new Mock<ModelPropertyCollection>(); var url = new Mock<ModelProperty>(); url.SetupProperty(p => p.ComputedValue, "xxxxx"); // start "tracking" sets/gets to this property properties.Add("Url", url); propertyCollection.Protected().Setup<ModelProperty>("Find", "Url", true).Returns(url.Object); var modelItemMock = new Mock<ModelItem>(); modelItemMock.Setup(s => s.Properties).Returns(propertyCollection.Object); var sut = new GetWebRequestWithTimeoutDesignerViewModel(modelItemMock.Object); url.Object.ComputedValue = ""; modelItemMock.Raise(mi => mi.PropertyChanged += null, new PropertyChangedEventArgs("Url")); Assert.IsFalse(sut.PreviewViewModel.CanPreview); }
public void GetWebRequestDesignerViewModel_SetUrl_StringWithTwoVariables_CanPreviewIsTrueAndPreviewInputsCountIsTwo() { var properties = new Dictionary<string, Mock<ModelProperty>>(); var propertyCollection = new Mock<ModelPropertyCollection>(); var url = new Mock<ModelProperty>(); url.SetupProperty(p => p.ComputedValue, ""); // start "tracking" sets/gets to this property properties.Add("Url", url); propertyCollection.Protected().Setup<ModelProperty>("Find", "Url", true).Returns(url.Object); var modelItemMock = new Mock<ModelItem>(); modelItemMock.Setup(s => s.Properties).Returns(propertyCollection.Object); var sut = new GetWebRequestWithTimeoutDesignerViewModel(modelItemMock.Object); url.Object.ComputedValue = "http://www.[[mysite]].com?[[queryString]]"; modelItemMock.Raise(mi => mi.PropertyChanged += null, new PropertyChangedEventArgs("Url")); Assert.IsTrue(sut.PreviewViewModel.CanPreview); Assert.IsTrue(sut.PreviewViewModel.Inputs.Count == 2); Assert.AreEqual(sut.PreviewViewModel.InputsVisibility, Visibility.Visible); }
public void GetWebRequestDesignerViewModel_Validate_ValidString_IsValidTrue() { //------------Setup for test-------------------------- var modelItem = GenerateMockModelItem("http://www.search.com?p=5"); var viewModel = new GetWebRequestWithTimeoutDesignerViewModel(modelItem.Object); //------------Execute Test--------------------------- viewModel.Validate(); //------------Assert Results------------------------- Assert.IsTrue(viewModel.IsValid); Assert.IsNull(viewModel.Errors); }
public void GetWebRequestDesignerViewModel_Validate_ValidExpression_IsValidTrue() { //------------Setup for test-------------------------- var modelItem = GenerateMockModelItem("http://[[asdf]]?[[asdf]]"); var viewModel = new GetWebRequestWithTimeoutDesignerViewModel(modelItem.Object); //------------Execute Test--------------------------- viewModel.Validate(); //------------Assert Results------------------------- Assert.IsTrue(viewModel.IsValid); Assert.IsNull(viewModel.Errors); }
public void GetWebRequestDesignerViewModel_Validate_InvalidExpression_IsValidFalse() { //------------Setup for test-------------------------- var modelItem = GenerateMockModelItem("[[asdf]asdf]]asdf]]"); var viewModel = new GetWebRequestWithTimeoutDesignerViewModel(modelItem.Object); //------------Execute Test--------------------------- viewModel.Validate(); //------------Assert Results------------------------- Assert.IsFalse(viewModel.IsValid); Assert.AreEqual(1, viewModel.Errors.Count); Assert.AreEqual("Invalid expression: opening and closing brackets don't match.", viewModel.Errors[0].Message); }
public void GetWebRequestDesignerViewModel_ExecutePreviewWhenUrlIsNull_WebRequestIsNotInvoked() { var modelItem = GenerateMockModelItem(string.Empty); var sut = new GetWebRequestWithTimeoutDesignerViewModel(modelItem.Object); var isInvoked = false; sut.WebInvoke = (m, u, h) => { isInvoked = true; return "Was Called"; }; sut.PreviewViewModel.PreviewCommand.Execute(null); Assert.IsTrue(string.IsNullOrWhiteSpace(sut.PreviewViewModel.Output)); Assert.IsFalse(isInvoked); Assert.AreEqual(1, sut.Errors.Count); }
public void GetWebRequestDesignerViewModel_ExecutePreviewWhenUrlIsValidWithoutHttpPrefix_WebRequestIsInvoked() { var properties = new Dictionary<string, Mock<ModelProperty>>(); var propertyCollection = new Mock<ModelPropertyCollection>(); var url = new Mock<ModelProperty>(); url.SetupProperty(p => p.ComputedValue, "www.google.com"); // start "tracking" sets/gets to this property properties.Add("Url", url); propertyCollection.Protected().Setup<ModelProperty>("Find", "Url", true).Returns(url.Object); var modelItemMock = new Mock<ModelItem>(); modelItemMock.Setup(s => s.Properties).Returns(propertyCollection.Object); var sut = new GetWebRequestWithTimeoutDesignerViewModel(modelItemMock.Object); sut.WebInvoke = (m, u, h) => { return "Was Called"; }; sut.PreviewViewModel.PreviewCommand.Execute(null); Assert.IsFalse(string.IsNullOrWhiteSpace(sut.PreviewViewModel.Output)); Assert.AreEqual(sut.PreviewViewModel.Output, "Was Called"); Assert.IsNull(sut.Errors); }
public void GetWebRequestDesignerViewModel_SetHeaders_StringWithOneVariables_PreviewInputsCountIsOne() { var properties = new Dictionary<string, Mock<ModelProperty>>(); var propertyCollection = new Mock<ModelPropertyCollection>(); var headers = new Mock<ModelProperty>(); headers.SetupProperty(p => p.ComputedValue, ""); // start "tracking" sets/gets to this property properties.Add("Headers", headers); propertyCollection.Protected().Setup<ModelProperty>("Find", "Headers", true).Returns(headers.Object); var modelItemMock = new Mock<ModelItem>(); modelItemMock.Setup(s => s.Properties).Returns(propertyCollection.Object); var sut = new GetWebRequestWithTimeoutDesignerViewModel(modelItemMock.Object); headers.Object.ComputedValue = "ContentType=[[contenttype]]"; modelItemMock.Raise(mi => mi.PropertyChanged += null, new PropertyChangedEventArgs("Headers")); Assert.IsTrue(sut.PreviewViewModel.Inputs.Count == 1); Assert.AreEqual(sut.PreviewViewModel.InputsVisibility, Visibility.Visible); }