public void WorkflowInputDataViewModel_ExecuteWorkflowViewInBrowser_InvokesSendViewInBrowserRequest_ScalarsOnly() { //------------Setup for test-------------------------- const string datalist = @"<DataList><val IsEditable=""True"" ColumnIODirection=""Input""/><res IsEditable=""True"" ColumnIODirection=""Input""/></DataList>"; var rm = new Mock <IContextualResourceModel>(); rm.Setup(r => r.ServerID).Returns(_serverID); rm.Setup(r => r.ResourceName).Returns("AnotherWorkflow"); rm.Setup(r => r.WorkflowXaml).Returns(new StringBuilder(StringResourcesTest.DebugInputWindow_WorkflowXaml)); rm.Setup(r => r.ID).Returns(_resourceID); rm.Setup(r => r.DataList).Returns(datalist); var mockEnvironmentModel = new Mock <IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.ID).Returns(Guid.Empty); var mockEnvironmentConnection = new Mock <IEnvironmentConnection>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockEnvironmentConnection.Object); rm.Setup(model => model.Environment).Returns(mockEnvironmentModel.Object); var serviceDebugInfoModel = new ServiceDebugInfoModel { DebugModeSetting = DebugMode.DebugInteractive, RememberInputs = true, ResourceModel = rm.Object, ServiceInputData = datalist }; var debugOutputViewModel = CreateDebugOutputViewModel(); var workflowInputDataViewModel = new WorkflowInputDataViewModelMock(serviceDebugInfoModel, debugOutputViewModel) { DebugTo = { DataList = datalist } }; workflowInputDataViewModel.LoadWorkflowInputs(); workflowInputDataViewModel.XmlData = @"<DataList><val>1</val><res>2</res></DataList>"; workflowInputDataViewModel.SetWorkflowInputData(); //------------Execute Test--------------------------- workflowInputDataViewModel.ViewInBrowser(); //------------Assert Results------------------------- Assert.AreEqual(1, workflowInputDataViewModel.SendViewInBrowserRequestHitCount); Assert.IsNotNull(workflowInputDataViewModel.SendViewInBrowserRequestPayload); const string expectedPayload = @"val=1&res=2"; var actualPayload = workflowInputDataViewModel.SendViewInBrowserRequestPayload; Assert.AreEqual(expectedPayload, actualPayload); }
public void WorkflowInputDataViewModel_Save_WithScalarVariable_ExpectNewDataListInputViewModelItems() { //------------Setup for test-------------------------- var rm = new Mock <IContextualResourceModel>(); rm.Setup(r => r.ServerID).Returns(_serverID); rm.Setup(r => r.ResourceName).Returns(ResourceName); rm.Setup(r => r.WorkflowXaml).Returns(new StringBuilder(StringResourcesTest.DebugInputWindow_WorkflowXaml)); rm.Setup(r => r.ID).Returns(_resourceID); rm.Setup(r => r.DataList).Returns("<DataList><rs Description=\"\" IsEditable=\"True\" ColumnIODirection=\"Input\" ><val Description=\"\" IsEditable=\"True\" ColumnIODirection=\"Input\" /></rs></DataList>"); var serviceDebugInfoModel = new ServiceDebugInfoModel { DebugModeSetting = DebugMode.DebugInteractive, RememberInputs = true, ResourceModel = rm.Object, ServiceInputData = "<DataList><rs><val>1</val></rs></DataList>" }; var debugOutputViewModel = CreateDebugOutputViewModel(); var workflowInputDataViewModel = new WorkflowInputDataViewModelMock(serviceDebugInfoModel, debugOutputViewModel); workflowInputDataViewModel.LoadWorkflowInputs(); //------------Execute Test--------------------------- workflowInputDataViewModel.WorkflowInputs.Add(new DataListItem { DisplayValue = "rs(2).val", Field = "val", Recordset = "rs", IsRecordset = true, Value = "2", RecordsetIndex = "2" }); workflowInputDataViewModel.Save(); //------------Assert Results------------------------- const string expectedPayload = @"<DataList> <rs> <val>1</val> </rs> <rs> <val>2</val> </rs> </DataList>"; Assert.AreEqual(expectedPayload, workflowInputDataViewModel.DebugTo.XmlData); }
public void WorkflowInputDataViewModel_Save_WithScalarVariable_ExpectNewDataListInputViewModelItems() { //------------Setup for test-------------------------- var rm = new Mock<IContextualResourceModel>(); rm.Setup(r => r.ServerID).Returns(_serverID); rm.Setup(r => r.ResourceName).Returns(ResourceName); rm.Setup(r => r.WorkflowXaml).Returns(new StringBuilder(StringResourcesTest.DebugInputWindow_WorkflowXaml)); rm.Setup(r => r.ID).Returns(_resourceID); rm.Setup(r => r.DataList).Returns("<DataList><rs Description=\"\" IsEditable=\"True\" ColumnIODirection=\"Input\" ><val Description=\"\" IsEditable=\"True\" ColumnIODirection=\"Input\" /></rs></DataList>"); var serviceDebugInfoModel = new ServiceDebugInfoModel { DebugModeSetting = DebugMode.DebugInteractive, RememberInputs = true, ResourceModel = rm.Object, ServiceInputData = "<DataList><rs><val>1</val></rs></DataList>" }; var debugOutputViewModel = CreateDebugOutputViewModel(); var workflowInputDataViewModel = new WorkflowInputDataViewModelMock(serviceDebugInfoModel, debugOutputViewModel); workflowInputDataViewModel.LoadWorkflowInputs(); //------------Execute Test--------------------------- workflowInputDataViewModel.WorkflowInputs.Add(new DataListItem { DisplayValue = "rs(2).val", Field = "val", Recordset = "rs", IsRecordset = true, Value = "2", RecordsetIndex = "2" }); workflowInputDataViewModel.Save(); //------------Assert Results------------------------- const string expectedPayload = @"<DataList> <rs> <val>1</val> </rs> <rs> <val>2</val> </rs> </DataList>"; Assert.AreEqual(expectedPayload, workflowInputDataViewModel.DebugTo.XmlData); }
public void WorkflowInputDataViewModel_ExecuteWorkflowViewInBrowser_InvokesSendViewInBrowserRequest_ScalarsOnly() { //------------Setup for test-------------------------- const string datalist = @"<DataList><val IsEditable=""True"" ColumnIODirection=""Input""/><res IsEditable=""True"" ColumnIODirection=""Input""/></DataList>"; var rm = new Mock<IContextualResourceModel>(); rm.Setup(r => r.ServerID).Returns(_serverID); rm.Setup(r => r.ResourceName).Returns("AnotherWorkflow"); rm.Setup(r => r.WorkflowXaml).Returns(new StringBuilder(StringResourcesTest.DebugInputWindow_WorkflowXaml)); rm.Setup(r => r.ID).Returns(_resourceID); rm.Setup(r => r.DataList).Returns(datalist); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.ID).Returns(Guid.Empty); var mockEnvironmentConnection = new Mock<IEnvironmentConnection>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockEnvironmentConnection.Object); rm.Setup(model => model.Environment).Returns(mockEnvironmentModel.Object); var serviceDebugInfoModel = new ServiceDebugInfoModel { DebugModeSetting = DebugMode.DebugInteractive, RememberInputs = true, ResourceModel = rm.Object, ServiceInputData = datalist }; var debugOutputViewModel = CreateDebugOutputViewModel(); var workflowInputDataViewModel = new WorkflowInputDataViewModelMock(serviceDebugInfoModel, debugOutputViewModel) { DebugTo = { DataList = datalist } }; workflowInputDataViewModel.LoadWorkflowInputs(); workflowInputDataViewModel.XmlData = @"<DataList><val>1</val><res>2</res></DataList>"; workflowInputDataViewModel.SetWorkflowInputData(); //------------Execute Test--------------------------- workflowInputDataViewModel.ViewInBrowser(); //------------Assert Results------------------------- Assert.AreEqual(1, workflowInputDataViewModel.SendViewInBrowserRequestHitCount); Assert.IsNotNull(workflowInputDataViewModel.SendViewInBrowserRequestPayload); const string expectedPayload = @"val=1&res=2"; var actualPayload = workflowInputDataViewModel.SendViewInBrowserRequestPayload; Assert.AreEqual(expectedPayload, actualPayload); }