public void SetWorkflowInputData_AddRow_WhenNotAllColumnsInput_ExpectNewRowWithOnlyInputColumns()
{
//------------Setup for test--------------------------
const string Shape = @"<DataList><rec Description="""" IsEditable=""True"" ColumnIODirection=""None"" ><a Description="""" IsEditable=""True"" ColumnIODirection=""Input"" /><b Description="""" IsEditable=""True"" ColumnIODirection=""None"" /></rec></DataList>";
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(Shape);
var serviceDebugInfoModel = new ServiceDebugInfoModel
{
DebugModeSetting = DebugMode.DebugInteractive,
RememberInputs = true,
ResourceModel = rm.Object,
ServiceInputData = "xxxxx"
};
var debugVM = CreateDebugOutputViewModel();
var itemToAdd = new DataListItem { DisplayValue = "rec(1).a", Field = "a", Recordset = "rec", IsRecordset = true, RecordsetIndex = "1", RecordsetIndexType = enRecordsetIndexType.Numeric, Value = "1" };
//------------Execute Test---------------------------
var workflowInputDataViewModel = new WorkflowInputDataViewModel(serviceDebugInfoModel, debugVM.SessionID);
workflowInputDataViewModel.LoadWorkflowInputs();
var inputs = workflowInputDataViewModel.WorkflowInputs;
Assert.AreEqual(1, inputs.Count);
inputs[0].Value = "1"; // trick it into thinking this happened from the UI ;)
workflowInputDataViewModel.AddRow(itemToAdd);
//------------Assert Results-------------------------
inputs = workflowInputDataViewModel.WorkflowInputs;
Assert.AreEqual(2, inputs.Count);
}