public void WebPostActivityViewModel_ToModel_Given_IsManualChecked_True_ExpectFromPostDataVariableInputs() { //---------------Set up test pack------------------- var mockModel = GetMockModel(); var postActivity = GetPostActivityWithOutPuts(mockModel); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(postActivity), mockModel); postViewModel.ManageServiceInputViewModel = new InputViewForWebPostTest(postViewModel, mockModel); postViewModel.SourceRegion.SelectedSource = postViewModel.SourceRegion.Sources.First(); postViewModel.InputArea.Headers.Add(new NameValue("a", "asa")); postViewModel.InputArea.PostData = "this is a test body with a [[VariableToExpose]]"; postViewModel.InputArea.ViewModel = new WebPostActivityViewModelNew(ModelItemUtils.CreateModelItem(postActivity), mockModel); postViewModel.InputArea.IsManualChecked = true; postViewModel.InputArea.IsFormDataChecked = false; postViewModel.ConditionExpressionOptions.Options = new List <IOption> { new FormDataOptionConditionExpression { Key = "l", Value = "[[VariableNotToExpose]]", TableType = enFormDataTableType.Text } }; //---------------Execute Test ---------------------- var result = postViewModel.ToModel(); var actualInputs = result.Inputs; Assert.IsTrue(actualInputs.Count == 1); Assert.IsTrue(actualInputs.First().Name == "[[VariableToExpose]]"); }
public void WebPostActivityViewModel_WebPut_BodyIsXmlExistingHeaders_ExpectNoHeadersAdded() { //---------------Set up test pack------------------- CustomContainer.LoadedTypes = new List <Type>() { typeof(ManageWebServiceModel) }; var shellVm = new Mock <IShellViewModel>(); var serverMock = new Mock <IServer>(); var updateProxy = new Mock <IStudioUpdateManager>(); var updateManager = new Mock <IQueryManager>(); serverMock.Setup(server => server.UpdateRepository).Returns(updateProxy.Object); serverMock.Setup(server => server.QueryProxy).Returns(updateManager.Object); shellVm.Setup(model => model.ActiveServer).Returns(serverMock.Object); CustomContainer.Register(shellVm.Object); var mod = GetMockModel(); var act = GetPostActivityWithOutPuts(mod); var modelItem = ModelItemUtils.CreateModelItem(act); var postViewModel = new WebPostActivityViewModel(modelItem); var oldCount = postViewModel.InputArea.Headers.Count; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var person = "<person sex=\"female\"><firstname>Anna</firstname><lastname>Smith</lastname></person>"; postViewModel.InputArea.PostData = person; var newCount = postViewModel.InputArea.Headers.Count; //---------------Test Result ----------------------- Assert.IsTrue(newCount == oldCount); }
public void WebPostActivityViewModel_WebPost_TestActionSetSourceAndTestClickOkHasQueryStringAndHeadersRecSet() { //---------------Set up test pack------------------- var mod = GetMockModel(); var act = GetPostActivityWithOutPuts(mod); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); postViewModel.ManageServiceInputViewModel = new InputViewForWebPostTest(postViewModel, mod); postViewModel.SourceRegion.SelectedSource = postViewModel.SourceRegion.Sources.First(); postViewModel.InputArea.Headers.Add(new NameValue("[[a]]", "asa")); postViewModel.InputArea.QueryString = "the [[b().a]]"; #pragma warning disable 4014 postViewModel.TestInputCommand.Execute(); postViewModel.ManageServiceInputViewModel.TestCommand.Execute(null); postViewModel.ManageServiceInputViewModel.IsEnabled = true; postViewModel.ManageServiceInputViewModel.OutputArea.Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c") }; postViewModel.ManageServiceInputViewModel.OkCommand.Execute(null); #pragma warning restore 4014 //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.IsTrue(postViewModel.SourceRegion.IsEnabled); Assert.IsTrue(postViewModel.OutputsRegion.IsEnabled); Assert.IsTrue(postViewModel.InputArea.IsEnabled); Assert.IsTrue(postViewModel.ErrorRegion.IsEnabled); Assert.IsTrue(postViewModel.ManageServiceInputViewModel.InputArea.Inputs.Count == 2); Assert.IsTrue(postViewModel.ManageServiceInputViewModel.InputArea.Inputs.First().Name == "[[b().a]]"); Assert.IsTrue(postViewModel.ManageServiceInputViewModel.InputArea.Inputs.Last().Name == "[[a]]"); Assert.AreEqual(0, postViewModel.ManageServiceInputViewModel.Errors.Count); //---------------Test Result ----------------------- }
public void WebPostActivityViewModel_TestInputCommand_IsFormDataChecked() { //---------------Set up test pack------------------- var mockModel = GetMockModel(); var postActivity = GetPostActivityWithOutPuts(mockModel); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(postActivity), mockModel); postViewModel.ManageServiceInputViewModel = new InputViewForWebPostTest(postViewModel, mockModel); postViewModel.SourceRegion.SelectedSource = postViewModel.SourceRegion.Sources.First(); postViewModel.InputArea.Headers.Add(new NameValue("[[a]]", "asa")); postViewModel.InputArea.ViewModel = new WebPostActivityViewModelNew(ModelItemUtils.CreateModelItem(postActivity), mockModel); postViewModel.InputArea.IsFormDataChecked = true; postViewModel.ConditionExpressionOptions.Options = new List <IOption> { new FormDataOptionConditionExpression { Key = "l", Value = "r", Cond = new FormDataConditionText { TableType = enFormDataTableType.Text, Value = "this can be any text message" }, } }; //---------------Execute Test ---------------------- postViewModel.TestInputCommand.Execute(); postViewModel.ManageServiceInputViewModel.TestCommand.Execute(null); postViewModel.ManageServiceInputViewModel.IsEnabled = true; postViewModel.ManageServiceInputViewModel.OutputArea.Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c") }; postViewModel.ManageServiceInputViewModel.OkCommand.Execute(null); //---------------Test Result ----------------------- Assert.IsTrue(postViewModel.SourceRegion.IsEnabled); Assert.IsTrue(postViewModel.OutputsRegion.IsEnabled); Assert.IsTrue(postViewModel.InputArea.IsEnabled); Assert.IsTrue(postViewModel.ErrorRegion.IsEnabled); Assert.AreEqual(1, postViewModel.ManageServiceInputViewModel.InputArea.Inputs.Count); Assert.IsTrue(postViewModel.ManageServiceInputViewModel.InputArea.Inputs.First().Name == "[[a]]"); Assert.AreEqual(0, postViewModel.ManageServiceInputViewModel.Errors.Count); Assert.IsTrue(postViewModel.ManageServiceInputViewModel.IsFormDataChecked); var options = postViewModel.ManageServiceInputViewModel.ConditionExpressionOptions.Options; Assert.IsTrue(options.Count == 2); var item1 = options.First() as FormDataOptionConditionExpression; Assert.IsNotNull(item1); Assert.AreEqual("l", item1.Key); Assert.AreEqual("r", item1.Value); Assert.AreEqual(enFormDataTableType.Text, item1.Cond.TableType); Assert.AreEqual("this can be any text message", (item1.Cond as FormDataConditionText)?.Value); }
public void WebPostActivityViewModel_DeleteCondition() { //------------Setup for test-------------------------- var mod = GetMockModel(); var conditionExpressionList = new List <FormDataConditionExpression> { new FormDataConditionExpression { Key = "[[a]]", Cond = new FormDataConditionText { TableType = enFormDataTableType.Text, Value = "this can be any text message" } } }; var gateOptionsProperty = CreateModelProperty("FormDataOptions", null).Object; var conditionsProperty = CreateModelProperty("Conditions", conditionExpressionList); var displayNameProperty = CreateModelProperty("DisplayName", "test display name"); var mockProperties = new Mock <ModelPropertyCollection>(); mockProperties.Protected().Setup <ModelProperty>("Find", "FormDataOptions", true).Returns(gateOptionsProperty); mockProperties.Protected().Setup <ModelProperty>("Find", "Conditions", true).Returns(conditionsProperty.Object); mockProperties.Protected().Setup <ModelProperty>("Find", "DisplayName", true).Returns(displayNameProperty.Object); var mockModelItem = new Mock <ModelItem>(); mockModelItem.Setup(modelItem => modelItem.Properties).Returns(mockProperties.Object); //------------Execute Test--------------------------- var gateDesignerViewModel = new WebPostActivityViewModel(mockModelItem.Object, mod); var conditions = gateDesignerViewModel.ConditionExpressionOptions.Options.ToList(); //------------Assert Results------------------------- Assert.AreEqual(2, conditions.Count); var optionConditionExpression = conditions[0] as FormDataOptionConditionExpression; Assert.IsNotNull(optionConditionExpression); optionConditionExpression.SelectedTableType = new NamedInt { Name = "Text", Value = 1 }; optionConditionExpression.DeleteCommand.Execute(optionConditionExpression); conditions = gateDesignerViewModel.ConditionExpressionOptions.Options.ToList(); Assert.AreEqual(1, conditions.Count); var emptyCondition = conditions[0] as FormDataOptionConditionExpression; Assert.IsNotNull(emptyCondition); Assert.IsNull(emptyCondition.Key); Assert.AreEqual(enFormDataTableType.Text, emptyCondition.TableType); }
public void ManageWebServiceInputViewModel_ExecuteTest_ExpectSuccess() { var mockWebServiceModel = new Mock <IWebServiceModel>(); mockWebServiceModel.Setup(o => o.RetrieveSources()) .Returns(new List <IWebServiceSource> { new WebServiceSourceDefinition() }); var myWebModel = mockWebServiceModel.Object; var webGetActivity = new WebPostActivityNew() { SourceId = Guid.NewGuid(), Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("d", "e", "f") }, Headers = new List <INameValue> { new NameValue("a", "x") }, Conditions = new List <FormDataConditionExpression> { new FormDataConditionExpression { Key = "testKey", Cond = new FormDataConditionText { Value = "this can be any text value" } } }, QueryString = "Bob the builder", ServiceName = "dsfBob" }; #pragma warning disable 618 var webPostActivityViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(webGetActivity), myWebModel); #pragma warning restore 618 webPostActivityViewModel.SourceRegion.SelectedSource = webPostActivityViewModel.SourceRegion.Sources.First(); webPostActivityViewModel.TestInputCommand.Execute(); webPostActivityViewModel.ManageServiceInputViewModel.TestCommand.Execute(null); //------------Assert Results------------------------- var inputViewModel = new ManageWebServiceInputViewModel(webPostActivityViewModel, myWebModel) { IsFormDataChecked = true, }; Assert.IsTrue(inputViewModel.IsFormDataChecked); Assert.IsNotNull(inputViewModel.ConditionExpressionOptions); Assert.AreEqual(1, inputViewModel.ConditionExpressionOptions.Options.Count); mockWebServiceModel.Verify(o => o.TestService(It.IsAny <IWebService>()), Times.Once); }
//public void WebPostActivityViewModel_Validate_GivenHasNewInstance_ShouldHaveOneDefaultError() public void WebPostActivityViewModel_WebPost_MethodName_ValidateExpectErrors() { //---------------Set up test pack------------------- var mod = GetMockModel(); var act = GetEmptyPostActivity(); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); //---------------Assert Precondition---------------- Assert.IsNotNull(postViewModel); //---------------Execute Test ---------------------- postViewModel.Validate(); //---------------Test Result ----------------------- Assert.AreEqual(postViewModel.Errors.Count, 1); Assert.AreEqual(postViewModel.DesignValidationErrors.Count, 2); }
public void WebPostActivityViewModel_ClearValidationMemoWithNoFoundError_GivenHasNoErrors_ShouldNullErrors() { //---------------Set up test pack------------------- var mod = GetMockModel(); var act = GetPostActivityWithOutPuts(mod); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- postViewModel.ClearValidationMemoWithNoFoundError(); //---------------Test Result ----------------------- Assert.IsNull(postViewModel.Errors); Assert.AreEqual(postViewModel.DesignValidationErrors.Count, 1); Assert.IsTrue(postViewModel.IsWorstErrorReadOnly); }
public void WebPostActivityViewModel_GetHeaderRegion_GivenIsNew_ShouldReturnInputArea() { //---------------Set up test pack------------------- var mod = GetMockModel(); var act = GetEmptyPostActivity(); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.IsTrue(postViewModel.SourceRegion.IsEnabled); Assert.IsFalse(postViewModel.OutputsRegion.IsEnabled); Assert.IsFalse(postViewModel.InputArea.IsEnabled); Assert.IsTrue(postViewModel.ErrorRegion.IsEnabled); //---------------Test Result ----------------------- Assert.AreSame(postViewModel.InputArea, postViewModel.GetHeaderRegion()); }
public void WebPostActivityViewModel_Construct_GivenIsNew_ShouldHaveDefalutValues() { //---------------Set up test pack------------------- var mod = GetMockModel(); var act = GetEmptyPostActivity(); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.IsTrue(postViewModel.SourceRegion.IsEnabled); Assert.IsFalse(postViewModel.OutputsRegion.IsEnabled); Assert.IsFalse(postViewModel.InputArea.IsEnabled); Assert.IsTrue(postViewModel.ErrorRegion.IsEnabled); //---------------Test Result ----------------------- }
public void WebPostActivityViewModel_OnLoad_GivenHasModelAndId_ShouldHaveDefaultHeightValues() { //---------------Set up test pack------------------- var id = Guid.NewGuid(); var mod = GetMockModel(); var act = GetPostActivityWithOutPuts(mod); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- //---------------Test Result ----------------------- Assert.IsTrue(postViewModel.SourceRegion.IsEnabled); Assert.IsTrue(postViewModel.OutputsRegion.IsEnabled); Assert.IsTrue(postViewModel.InputArea.IsEnabled); Assert.IsTrue(postViewModel.ErrorRegion.IsEnabled); postViewModel.ValidateTestComplete(); Assert.IsTrue(postViewModel.OutputsRegion.IsEnabled); }
public void WebPostActivityViewModel_ActionSetSource_GivenSelectedSource_ShouldHaveDefaultValues() { //---------------Set up test pack------------------- var mod = GetMockModel(); var act = GetPostActivityWithOutPuts(mod); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); postViewModel.ManageServiceInputViewModel = new InputViewForWebPostTest(postViewModel, mod); postViewModel.SourceRegion.SelectedSource = postViewModel.SourceRegion.Sources.First(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.IsTrue(postViewModel.SourceRegion.IsEnabled); Assert.IsFalse(postViewModel.OutputsRegion.IsEnabled); Assert.IsTrue(postViewModel.InputArea.IsEnabled); Assert.IsTrue(postViewModel.ErrorRegion.IsEnabled); //---------------Test Result ----------------------- }
public void WebPostActivityViewModel_WebPostDesignerViewModel_UpdateHelp_ShouldCallToHelpViewMode() { //------------Setup for test-------------------------- var mockMainViewModel = new Mock <IShellViewModel>(); var mockHelpViewModel = new Mock <IHelpWindowViewModel>(); mockHelpViewModel.Setup(model => model.UpdateHelpText(It.IsAny <string>())).Verifiable(); mockMainViewModel.Setup(model => model.HelpViewModel).Returns(mockHelpViewModel.Object); CustomContainer.Register(mockMainViewModel.Object); var mod = GetMockModel(); var act = GetEmptyPostActivity(); var viewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); //------------Execute Test--------------------------- viewModel.UpdateHelpDescriptor("help"); //------------Assert Results------------------------- mockHelpViewModel.Verify(model => model.UpdateHelpText(It.IsAny <string>()), Times.Once()); }
public void WebPostActivityViewModel_WebPut_BodyIsJSonNoHeaders_ExpectNewHeadersAdded() { //---------------Set up test pack------------------- CustomContainer.LoadedTypes = new List <Type>() { typeof(ManageWebServiceModel) }; var shellVm = new Mock <IShellViewModel>(); var serverMock = new Mock <IServer>(); var updateProxy = new Mock <IStudioUpdateManager>(); var updateManager = new Mock <IQueryManager>(); serverMock.Setup(server => server.UpdateRepository).Returns(updateProxy.Object); serverMock.Setup(server => server.QueryProxy).Returns(updateManager.Object); shellVm.Setup(model => model.ActiveServer).Returns(serverMock.Object); CustomContainer.Register(shellVm.Object); var mod = GetMockModel(); var act = GetPostActivityWithOutPuts(mod); act.Headers = new List <INameValue>(); var modelItem = ModelItemUtils.CreateModelItem(act); var postViewModel = new WebPostActivityViewModel(modelItem); var oldHeaderCount = postViewModel.InputArea.Headers.Count; //---------------Assert Precondition---------------- Assert.AreEqual(1, oldHeaderCount); //---------------Execute Test ---------------------- var human = new Human(); var h = new Dev2JsonSerializer(); var humanString = h.Serialize(human); postViewModel.InputArea.PostData = humanString; var newCount = postViewModel.InputArea.Headers.Count; //---------------Test Result ----------------------- Assert.AreEqual(GlobalConstants.ApplicationJsonHeader, postViewModel.InputArea.Headers.Single(value => value.Value == GlobalConstants.ApplicationJsonHeader).Value); Assert.AreEqual(GlobalConstants.ContentType, postViewModel.InputArea.Headers.Single(value => value.Name == GlobalConstants.ContentType).Name); Assert.IsTrue(newCount > oldHeaderCount); }
public void WebPostActivityViewModel_WebPost_TestActionSetSourceAndTestClickOkHasserialisationIssue() { //---------------Set up test pack------------------- var mod = GetMockModel(); mod.IsTextResponse = true; var act = GetEmptyPostActivity(); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); postViewModel.ManageServiceInputViewModel = new InputViewForWebPostTest(postViewModel, mod); postViewModel.SourceRegion.SelectedSource = postViewModel.SourceRegion.Sources.First(); #pragma warning disable 4014 postViewModel.TestInputCommand.Execute(); postViewModel.ManageServiceInputViewModel.TestCommand.Execute(null); postViewModel.ManageServiceInputViewModel.IsEnabled = true; postViewModel.ManageServiceInputViewModel.OkCommand.Execute(null); #pragma warning restore 4014 //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.AreEqual(postViewModel.OutputsRegion.Outputs.First().MappedFrom, "Result"); //---------------Test Result ----------------------- }
public void WebPostActivityViewModel_WebPost_TestActionSetSourceAndTestClickOkHasMappingsErrorFromServer() { //---------------Set up test pack------------------- var mod = GetMockModel(); var act = GetPostActivityWithOutPuts(mod); var postViewModel = new WebPostActivityViewModel(ModelItemUtils.CreateModelItem(act), mod); postViewModel.ManageServiceInputViewModel = new InputViewForWebPostTest(postViewModel, mod); postViewModel.SourceRegion.SelectedSource = postViewModel.SourceRegion.Sources.First(); #pragma warning disable 4014 postViewModel.TestInputCommand.Execute(); postViewModel.ManageServiceInputViewModel.TestCommand.Execute(null); postViewModel.ManageServiceInputViewModel.IsEnabled = true; postViewModel.ManageServiceInputViewModel.OutputArea.Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c") }; postViewModel.ManageServiceInputViewModel.OkCommand.Execute(null); #pragma warning restore 4014 //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.IsTrue(postViewModel.ErrorRegion.IsEnabled); //---------------Test Result ----------------------- }