public void RunWorkflowForSqlImplWithServerUriAndRecordsetNameExpectedReturnsRecordsetAsDataTable() { var employees = _workflowResultXml.Elements("Employees").ToList(); var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() }; var result = workflows.RunWorkflowForSqlImpl(CreateSqlCtxMock(), TestServerUri, "Employees"); Assert.IsNotNull(result); Assert.AreEqual(employees.Count, result.Rows.Count); // Verify that the DataTable was generated correctly foreach (var employee in employees) { var filter = new StringBuilder(); foreach (var field in employee.Elements()) { filter.AppendFormat(" AND {0}='{1}'", field.Name.LocalName, field.Value); } filter.Remove(0, 5); var rows = result.Select(filter.ToString()); Assert.AreEqual(1, rows.Length); } }
public void RunWorkflowForSqlImplWithValidArgsExpectedInvokesSqlCtx() { var employees = _workflowResultXml.Elements("Employees").ToList(); var sendRowCount = 0; var ctx = new Mock <ISqlCtx>(); ctx.Setup(c => c.SendStart(It.IsAny <DataTable>())).Verifiable(); ctx.Setup(c => c.SendEnd()).Verifiable(); ctx.Setup(c => c.SendRow(It.IsAny <SqlDataRecord>(), It.IsAny <object[]>())).Callback(() => sendRowCount++); var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() }; workflows.RunWorkflowForSqlImpl(ctx.Object, TestServerUri, "Employees"); ctx.VerifyAll(); Assert.AreEqual(employees.Count, sendRowCount); }
public void RunWorkflowForSqlImplWithServerUriAndNullRecordsetNameExpectedReturnsScalarsAsSingleRowInDataTable() { var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() }; var result = workflows.RunWorkflowForSqlImpl(CreateSqlCtxMock(), TestServerUri, null); Assert.IsNotNull(result); var filter = new StringBuilder(); foreach (var field in _workflowResultXml.Elements().Where(e => !e.HasElements)) { filter.AppendFormat(" AND {0}='{1}'", field.Name.LocalName, field.Value); } filter.Remove(0, 5); var rows = result.Select(filter.ToString()); Assert.AreEqual(1, rows.Length); }
public void RunWorkflowForSqlImplWithValidArgsExpectedInvokesSqlCtx() { var employees = _workflowResultXml.Elements("Employees").ToList(); var sendRowCount = 0; var ctx = new Mock<ISqlCtx>(); ctx.Setup(c => c.SendStart(It.IsAny<DataTable>())).Verifiable(); ctx.Setup(c => c.SendEnd()).Verifiable(); ctx.Setup(c => c.SendRow(It.IsAny<SqlDataRecord>(), It.IsAny<object[]>())).Callback(() => sendRowCount++); var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() }; workflows.RunWorkflowForSqlImpl(ctx.Object, TestServerUri, "Employees"); ctx.VerifyAll(); Assert.AreEqual(employees.Count, sendRowCount); }
public void RunWorkflowForSqlImplWithServerUriAndNullRecordsetNameExpectedReturnsRecordsetsAsRowsInDataTable() { var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() }; var result = workflows.RunWorkflowForSqlImpl(CreateSqlCtxMock(), TestServerUri, null); Assert.IsNotNull(result); foreach(var node in _workflowResultXml.Elements().Where(e => e.HasElements)) { var filter = new StringBuilder(); foreach(var field in node.Elements()) { filter.AppendFormat(" AND {0}{1}='{2}'", node.Name.LocalName, field.Name.LocalName, field.Value); } filter.Remove(0, 5); var rows = result.Select(filter.ToString()); Assert.AreEqual(1, rows.Length); } }
public void RunWorkflowForSqlImplWithServerUriAndRecordsetNameExpectedReturnsRecordsetAsDataTable() { var employees = _workflowResultXml.Elements("Employees").ToList(); var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() }; var result = workflows.RunWorkflowForSqlImpl(CreateSqlCtxMock(), TestServerUri, "Employees"); Assert.IsNotNull(result); Assert.AreEqual(employees.Count, result.Rows.Count); // Verify that the DataTable was generated correctly foreach(var employee in employees) { var filter = new StringBuilder(); foreach(var field in employee.Elements()) { filter.AppendFormat(" AND {0}='{1}'", field.Name.LocalName, field.Value); } filter.Remove(0, 5); var rows = result.Select(filter.ToString()); Assert.AreEqual(1, rows.Length); } }