private void ShimSPFieldCollectionMethods()
        {
            _shimFields = new ShimSPFieldCollection
            {
                GetFieldByInternalNameString = _ => new ShimSPField()
                {
                    TitleGet        = () => DummyString,
                    InternalNameGet = () => DummyString
                }.Instance
            };

            _shimFieldLookup = new ShimSPFieldLookup
            {
                LookupFieldGet = () => DummyGuid.ToString(),
                LookupWebIdGet = () => DummyGuid,
                LookupListGet  = () => DummyGuid.ToString()
            };
            ShimSPField.AllInstances.TitleGet            = _ => DummyString;
            ShimSPField.AllInstances.InternalNameGet     = _ => DummyString;
            ShimFieldMetadata.AllInstances.FieldGet      = _ => _shimFieldLookup.Instance;
            ShimLookupField.AllInstances.OnInitEventArgs = (_, __) => { _baseOnInitCalled = true; };
            ShimFormComponent.AllInstances.ListItemGet   = _ => GetListItem();
            ShimSPFieldLookupValue.ConstructorString     = (_, key) =>
            {
                ShimSPFieldLookupValue.AllInstances.ToString01 = __ => key;
            };
            _testObject.LookupField = _shimFieldLookup;
        }
        public void AddParametersForLookupField_FieldOk_AddsExpectedParameters()
        {
            // Arrange
            var parentWebIdExpected         = Guid.NewGuid();
            var lookupWebIdExpected         = Guid.NewGuid();
            var lookupListExpected          = "list-expected";
            var lookupFieldExpected         = "field-expected";
            var idExpected                  = Guid.NewGuid();
            var requiredExpected            = true;
            var allowMultipleValuesExpected = true;

            ShimSPField.AllInstances.ParentListGet = (element) => new ShimSPList();
            ShimSPField.AllInstances.IdGet         = (element) => idExpected;
            ShimSPField.AllInstances.RequiredGet   = (element) => requiredExpected;
            ShimSPList.AllInstances.ParentWebGet   = (element) => new ShimSPWeb {
                IDGet = () => parentWebIdExpected
            };

            var lookupFieldShim = new ShimSPFieldLookup();

            lookupFieldShim.LookupWebIdGet         = () => lookupWebIdExpected;
            lookupFieldShim.LookupListGet          = () => lookupListExpected;
            lookupFieldShim.LookupFieldGet         = () => lookupFieldExpected;
            lookupFieldShim.AllowMultipleValuesGet = () => allowMultipleValuesExpected;

            // Act
            _controlDataBuilder.AddParametersForLookupField(lookupFieldShim);

            // Assert
            Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("ParentWebID"));
            Assert.AreEqual(parentWebIdExpected.ToString(), _controlDataBuilder.Parameters["ParentWebID"]);
            Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("LookupWebID"));
            Assert.AreEqual(lookupWebIdExpected.ToString(), _controlDataBuilder.Parameters["LookupWebID"]);
            Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("LookupListID"));
            Assert.AreEqual(lookupListExpected.ToString(), _controlDataBuilder.Parameters["LookupListID"]);
            Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("LookupFieldInternalName"));
            Assert.AreEqual(lookupFieldExpected.ToString(), _controlDataBuilder.Parameters["LookupFieldInternalName"]);
            Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("LookupFieldID"));
            Assert.AreEqual(idExpected.ToString(), _controlDataBuilder.Parameters["LookupFieldID"]);
            Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("IsMultiSelect"));
            Assert.AreEqual(allowMultipleValuesExpected.ToString(), _controlDataBuilder.Parameters["IsMultiSelect"]);
            Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("Required"));
            Assert.AreEqual(requiredExpected.ToString(), _controlDataBuilder.Parameters["Required"]);
        }
Ejemplo n.º 3
0
        private void SetupShims(bool canRead)
        {
            var fields = new SPFieldLookup[1];

            fields[0] = new ShimSPFieldLookup()
            {
                LookupListGet = () => Guid.Empty.ToString()
            };

            ShimSPField.AllInstances.TypeGet = _ => SPFieldType.Lookup;
            ShimSPBaseCollection.AllInstances.GetEnumerator = _ => fields.GetEnumerator();
            ShimCoreFunctions.getConfigSettingSPWebString   = (_, __) => DummyString;
            ShimCoreFunctions.getConnectionStringGuid       = _ => string.Empty;
            ShimSPFieldLookupValue.AllInstances.LookupIdGet = _ => 0;
            ShimSPFieldLookupValue.ConstructorString        = (_, __) => new ShimSPFieldLookupValue();
            ShimSPSecurity.RunWithElevatedPrivilegesSPSecurityCodeToRunElevated = codeToRun => codeToRun();

            ShimSqlConnection.AllInstances.Open = _ =>
            {
                _isConnectionOpenedCalled = true;
            };
            ShimSqlCommand.AllInstances.ExecuteNonQuery = _ =>
            {
                _isExecuteNonQueryCallCount++;
                return(0);
            };
            ShimSqlCommand.AllInstances.ExecuteReader = _ =>
            {
                _isExecuteNonQueryCallCount++;
                return(new ShimSqlDataReader());
            };
            ShimSqlConnection.AllInstances.DisposeBoolean = (_, __) =>
            {
                _isConnectionDisposeCalled = true;
            };
            ShimSqlCommand.AllInstances.DisposeBoolean = (_, __) =>
            {
                _sqlCommandDisposeCallCount++;
            };
            ShimSqlDataReader.AllInstances.Read = _ => canRead;
        }
Ejemplo n.º 4
0
        public void UpdateLookupReferences_WhenLookupListIsNotNull_ConfirmResult()
        {
            // Arrange
            var updated     = false;
            var lookupField = new ShimSPFieldLookup
            {
                LookupListGet  = () => Guid.NewGuid().ToString(),
                LookupWebIdGet = () => Guid.Empty
            }.Instance;

            ShimSPWeb.AllInstances.IDGet           = _ => Guid.NewGuid();
            ShimSPList.AllInstances.IDGet          = _ => Guid.NewGuid();
            ShimSPField.AllInstances.UpdateBoolean = (_, __) => updated = true;

            // Act
            _testObj.UpdateLookupReferences(
                lookupField,
                new ShimSPWeb().Instance,
                new ShimSPList().Instance);

            // Assert
            updated.ShouldBeTrue();
        }
Ejemplo n.º 5
0
        public void Execute_WhenCalled_ExecutesActivities()
        {
            // Arrange
            const bool   buildTeamSecurity = true;
            const string lookups           = "1^2^3^4^true";
            var          methodHit         = 0;
            var          lookupField       = new ShimSPFieldLookup()
            {
                LookupListGet = () => SampleGuidString1
            };

            spListItem.HasUniqueRoleAssignmentsGet = () =>
            {
                methodHit += 1;
                return(methodHit > 1);
            };
            spWeb.AllowUnsafeUpdatesSetBoolean             = _ => { };
            spFieldCollection.GetFieldByInternalNameString = _ => lookupField;

            ShimSPSecurableObject.AllInstances.BreakRoleInheritanceBoolean = (_, input) =>
            {
                if (!input)
                {
                    validations += 1;
                }
            };
            ShimCoreFunctions.getListSettingStringSPList = (_, __) =>
            {
                var settings = string.Empty;
                for (var i = 0; i <= 50; i++)
                {
                    if (i.Equals(32))
                    {
                        settings += $"{buildTeamSecurity};";
                    }
                    else if (i.Equals(26))
                    {
                        settings += $"{lookups};";
                    }
                    else
                    {
                        settings += $"{DummyString};";
                    }
                }
                return(settings.Replace(";", "\n"));
            };
            ShimSecurityUpdate.AllInstances.GetSafeGroupTitleString = (_, __) =>
            {
                validations += 1;
                return(DummyString);
            };
            ShimSecurityUpdate.AllInstances.GetIdenticalGroupNameGuidGuidStringInt32 = (_, _1, _2, _3, _4) =>
            {
                validations += 1;
                return(DummyString);
            };
            ShimSecurityUpdate.AllInstances.AddBasicSecurityGroupsSPWebStringSPUserSPListItem = (_, _1, _2, _3, _4) =>
            {
                validations += 1;
                var newGroups = new Dictionary <string, SPRoleType>()
                {
                    [DummyString] = SPRoleType.Administrator
                };
                return(newGroups);
            };
            ShimSecurityUpdate.AllInstances.AddNewItemLvlPermSPListItemSPWebSPRoleTypeSPPrincipal = (_, _1, _2, _3, _4) =>
            {
                validations += 1;
            };
            ShimSecurityUpdate.AllInstances.AddBuildTeamSecurityGroupsSPWebGridGanttSettingsSPListItem = (_, _1, _2, _3) =>
            {
                validations += 1;
            };
            ShimEnhancedLookupConfigValuesHelper.AllInstances.GetSecuredFields = _ =>
            {
                validations += 1;
                return(new List <string>()
                {
                    DummyString
                });
            };
            ShimSPBaseCollection.AllInstances.GetEnumerator = _ => new List <SPRoleAssignment>().GetEnumerator();
            ShimSPRoleDefinitionBindingCollection.AllInstances.AddSPRoleDefinition = (_, __) =>
            {
                validations += 1;
            };
            ShimSPRoleAssignmentCollection.AllInstances.AddSPRoleAssignment = (_, __) =>
            {
                validations += 1;
            };
            ShimSecurityUpdate.AllInstances.ProcessSecuritySPSiteSPListSPListItemInt32 = (_, _1, _2, _3, _4) =>
            {
                validations += 1;
            };
            ShimWorkspaceTimerjobAgent.QueueWorkspaceJobOnHoldForSecurityGuidGuidGuidInt32 = (_1, _2, _3, _4) =>
            {
                validations += 1;
                return(DummyString);
            };

            // Act
            privateObject.Invoke(
                ExecuteMethodName,
                publicInstance,
                new object[]
            {
                spSite.Instance,
                spWeb.Instance,
                guid,
                One,
                One,
                DummyString
            });

            // Assert
            validations.ShouldSatisfyAllConditions(
                () => methodHit.ShouldBe(2),
                () => validations.ShouldBe(10));
        }