public void StoreResPlanInfo_OnSuccess_ExecuteCorrectly() { // Arrange const int RowCount = 501; var writeToServerWasCalled = false; ShimTimerFix.AllInstances.storeResPlanInfo = null; var dataTable = new ShimDataTable { RowsGet = () => new ShimDataRowCollection { CountGet = () => RowCount } }.Instance; privateObject.SetFieldOrProperty("dtResInfo", dataTable); privateObject.SetFieldOrProperty("dtResLink", dataTable); ShimSqlBulkCopy.AllInstances.WriteToServerDataTable = (_, dt) => writeToServerWasCalled = true; // Act privateObject.Invoke(storeResPlanInfoMethodName); // Assert writeToServerWasCalled.ShouldBeTrue(); }
public void StoreResPlanInfo_OnException_ShouldLogMessage() { // Arrange const int RowCount = 501; const string ErrorMessage = "Error Message"; ShimTimerFix.AllInstances.storeResPlanInfo = null; var dataTable = new ShimDataTable { RowsGet = () => new ShimDataRowCollection { CountGet = () => RowCount } }.Instance; privateObject.SetFieldOrProperty("dtResInfo", dataTable); privateObject.SetFieldOrProperty("dtResLink", dataTable); ShimSqlBulkCopy.AllInstances.WriteToServerDataTable = (_, dt) => { throw new Exception(ErrorMessage); }; // Act privateObject.Invoke(storeResPlanInfoMethodName); // Assert this.ShouldSatisfyAllConditions( () => timerFix.bErrors.ShouldBeTrue(), () => timerFix.sErrors.ShouldNotBeNullOrEmpty(), () => timerFix.sErrors.ShouldContain(ErrorMessage)); }
public void LoadProfileData_WhenCalled_FillsForm() { // Arrange var dataRowValues = GetDataRowDictionary(); var shimDataRow = new ShimDataRow(); shimDataRow.ItemGetString = (colName) => { return(dataRowValues[colName]); }; var dataRows = new DataRow[1]; dataRows[0] = shimDataRow.Instance; var shimDataRowCollection = new ShimDataRowCollection(); shimDataRowCollection.GetEnumerator = () => { return(dataRows.GetEnumerator()); }; var shimDataTable = new ShimDataTable(); shimDataTable.RowsGet = () => { return(shimDataRowCollection.Instance); }; ShimDataFunctions.GetDataTableString = (sqlQuery) => { return(shimDataTable.Instance); }; // Act _emailProfileBasePrivateObject.Invoke(LoadProfileDataMethodName, EmailIdValue, EmailAddressValue, GroupIdValue); // Assert AssertPageControlValuesForLoadProfileData(); }
public void BuildXmlElements_Should_ReturnList() { // Arrange var rowCollection = new List <DataRow> { new ShimDataRow { ItemGetString = name => string.Empty } }.AsEnumerable(); var spFieldCollection = GetSPFieldList(); var dataColumnCollection = new ShimDataColumnCollection { ContainsString = name => name == ContainsDataColumn }.Instance; var resources = new ShimDataTable { ColumnsGet = () => new ShimDataColumnCollection { ContainsString = name => true } }.Instance; var dictionary = new Dictionary <string, object[]>(); var args = new object[] { false, false, rowCollection, spFieldCollection, dataColumnCollection, resources, dictionary }; ShimSPFieldMultiChoiceValue.ConstructorString = (_, value) => { }; ShimSPFieldMultiChoiceValue.AllInstances.CountGet = _ => 1; ShimSPFieldMultiChoiceValue.AllInstances.ItemGetInt32 = (_, index) => DummyString; ShimSPListItemManager.AllInstances.GetFieldSpecialValuesSPFieldStringObjectStringOutStringOutStringOut = GetFieldSpecialValues; // Act var result = privateObject.Invoke(BuildXmlElementsMethodName, args) as List <XElement>; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNull(), () => result.ShouldNotBeEmpty(), () => result.First().Value.ShouldContain(";#"), () => result.First().Elements().ShouldNotBeEmpty()); }
public void BuildResponse_Should_ExecuteCorrectly() { // Arrange var dataTable = new ShimDataTable { RowsGet = () => new ShimDataRowCollection { GetEnumerator = () => new List <DataRow> { new ShimDataRow { ItemGetDataColumn = column => DummyString } }.GetEnumerator() }, ColumnsGet = () => { var list = new List <DataColumn> { new ShimDataColumn { ColumnNameGet = () => "Value" }, new ShimDataColumn { ColumnNameGet = () => DummyString } }; return(new ShimDataColumnCollection().Bind(list)); } }.Instance; var resultXml = new XElement("Main"); // Act privateType.InvokeStatic(BuildResponseMethodName, dataTable, resultXml); var firstElement = (XElement)resultXml.FirstNode; // Assert firstElement.ShouldSatisfyAllConditions( () => firstElement.ShouldNotBeNull(), () => firstElement.Attributes()?.Count().ShouldBeGreaterThan(0), () => firstElement.Value.ShouldContain(DummyString)); }
private void SetupShimEvents(string expectedFilterExpression) { var shimEventHandlerDataSet = new ShimEventHandlersDataSet(); var shimEventHandlerDataTable = new ShimEventHandlersDataTable(); var shimDataTable = new ShimDataTable(shimEventHandlerDataTable.Instance); shimDataTable.SelectString = filterExpression => { return(filterExpression == expectedFilterExpression ? new DataRow[0] : new DataRow[1]); }; shimEventHandlerDataSet.EventHandlersGet = () => shimEventHandlerDataTable; ShimEvents.AllInstances.ReadEventHandlerAssociations = _ => shimEventHandlerDataSet; ShimEvents.AllInstances.CreateEventHandlerAssociationsEventHandlersDataSet = (_1, _2) => { }; ShimEvents.AllInstances.UrlSetString = (_1, _2) => { }; ShimEvents.AllInstances.UseDefaultCredentialsSetBoolean = (_1, _2) => { }; }
public void UpsertItems_Should_ExecuteCorrectly() { // Arrange const string DummyId = "2"; const double Percent = 19.6; const string ExpectedDateValue = "2018-01-01"; const string ExpectedTimeValue = "10:50:47"; var ExpectedPercentValue = Percent / 100; var dateValue = string.Empty; var timeValue = string.Empty; var lookupValue = new object(); var percentValue = 0D; var referenceValue = string.Empty; var dtItems = new ShimDataTable { ColumnsGet = () => { var list = new List <DataColumn> { new DataColumn("DummyId") }; return(new ShimDataColumnCollection().Bind(list)); }, RowsGet = () => new ShimDataRowCollection { GetEnumerator = () => new List <DataRow> { new ShimDataRow { ItemGetString = name => { switch (name) { case DateField: return("01/01/2018"); case PercentField: return(Percent); case TimeField: return("10:50:47"); case LookupField: return("Dummy;#"); case ReferenceField: return("*****@*****.**"); default: return("[email protected],[email protected]"); } } } }.GetEnumerator() } }; ShimSfService.AllInstances.LookupItemExistsStringString = (_, itemId, objectName) => false; ShimDataColumnCollection.AllInstances.ContainsString = (_, name) => true; ShimSfMedadataService.AllInstances.GetFieldsString = (_, anm) => new Field[] { new Field { name = "PercentField", type = fieldType.percent }, new Field { name = "DateField", type = fieldType.date }, new Field { name = "TimeField", type = fieldType.time }, new Field { name = "ReferenceField", type = fieldType.reference, referenceTo = new string[] { "User" } }, new Field { name = "LookupField", type = fieldType.reference, referenceTo = new string[] { DummyString } } }; ShimSfMedadataService.AllInstances.ExecuteQueryString = (_, query) => new List <sObject> { new sObject() { Id = DummyId, Any = new XmlElement[] { new ShimXmlElement(), new ShimXmlElement { InnerTextGet = () => "*****@*****.**" }, new ShimXmlElement { InnerTextGet = () => "*****@*****.**" }, new ShimXmlElement { InnerTextGet = () => DummyString } } } }; ShimSfMedadataService.AllInstances.UpsertItemsStringDataTableBoolean = (_, objectName, items, liveId) => new List <Dictionary <UpsertKind, SaveResult> > { new Dictionary <UpsertKind, SaveResult> { [UpsertKind.INSERT] = new SaveResult() } }; ShimDataRow.AllInstances.ItemSetStringObject = (_, itemName, objectValue) => { switch (itemName) { case DateField: dateValue = objectValue?.ToString(); break; case PercentField: percentValue = ((double?)objectValue).GetValueOrDefault(0); break; case TimeField: timeValue = objectValue?.ToString(); break; case LookupField: lookupValue = objectValue; break; case ReferenceField: referenceValue = objectValue?.ToString(); break; default: break; } }; // Act var result = sfService.UpsertItems(DummyString, dtItems); // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNull(), () => result.ShouldNotBeEmpty(), () => dateValue.ShouldBe(ExpectedDateValue), () => timeValue.ShouldBe(ExpectedTimeValue), () => lookupValue.ShouldBeNull(), () => percentValue.ShouldBe(ExpectedPercentValue), () => referenceValue.ShouldBe(DummyId)); }