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));
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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));
        }
Beispiel #6
0
        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) => { };
        }
Beispiel #7
0
        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));
        }