public void WorkflowInputDataViewModel_ExecuteWorkflowViewInBrowser_InvokesSendViewInBrowserRequest_RecSet()
{
//------------Setup for test--------------------------
const string datalist = @"<DataList><notInput /><rs ColumnIODirection=""Input""><val ColumnIODirection=""Input""/></rs></DataList>";
var rm = new Mock<IContextualResourceModel>();
rm.Setup(r => r.ServerID).Returns(_serverID);
rm.Setup(r => r.ResourceName).Returns("SomeOtherWorkflow");
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><rs><val>1</val></rs><rs><val>2</val></rs></DataList>";
workflowInputDataViewModel.SetWorkflowInputData();
//------------Execute Test---------------------------
workflowInputDataViewModel.ViewInBrowser();
//------------Assert Results-------------------------
Assert.AreEqual(1, workflowInputDataViewModel.SendViewInBrowserRequestHitCount);
Assert.IsNotNull(workflowInputDataViewModel.SendViewInBrowserRequestPayload);
const string expectedPayload = @"<DataList><rs><val>1</val></rs><rs><val>2</val></rs></DataList>";
var actualPayload = workflowInputDataViewModel.SendViewInBrowserRequestPayload;
Assert.AreEqual(expectedPayload, actualPayload);
}