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"]); }
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; }
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(); }
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)); }