public void ProcessField_Always_ReturnExpectedValueForDateTime() { // Arrange SPWeb spWeb = new ShimSPWeb { LocaleGet = () => new CultureInfo("en-US") }; SPListItem listItem = new ShimSPListItem { ItemGetGuid = guidValue => "2018-12-05 00:00:00" }; SPField field = new ShimSPField { TypeGet = () => SPFieldType.DateTime, SchemaXmlGet = () => "format=\"DATEONLY\"" }; // Act var result = _privateObject.Invoke( "ProcessField", spWeb, listItem, field) as string; // Assert this.ShouldSatisfyAllConditions( () => result.ShouldNotBeNull(), () => result.ShouldBe("12/5/2018")); }
public void GetWorkingOnGridLayout_WhenCalled_ReturnsString() { // Arrange const string resultXml = "<Grid/>"; var data = @" <MyWork> <Params> <GridId>111</GridId> </Params> </MyWork>"; var field = new ShimSPField(); var myFieldTypes = new Dictionary <string, SPField>() { [DueDateColumn] = field, [AuthorColumn] = field, [EditorColumn] = field }; ShimUtils.GetFieldTypes = () => myFieldTypes; ShimResourceManager.AllInstances.GetStringStringCultureInfo = (_, _1, _2) => resultXml; // Act var actual = XDocument.Parse((string)privateObj.Invoke( GetWorkingOnGridLayoutMethodName, BindingFlags.Static | BindingFlags.NonPublic, new object[] { data })); // Assert actual.ShouldSatisfyAllConditions( () => actual.Element("Grid").Element("Cfg").Attribute("id").Value.ShouldBe("111"), () => actual.Element("Grid").Element("Cfg").Attribute("CSS").Value.ShouldBe(string.Format("{0}/_layouts/epmlive/treegrid/workingon/grid.css", Url))); }
public void GetFieldSpecialValues_FieldTypeDate_ShouldExecuteCorrectly() { // Arrange var fieldType = new ShimSPField { TypeGet = () => SPFieldType.DateTime }.Instance; var fieldEditValue = string.Empty; var fieldTextValue = string.Empty; var fieldHtmlValue = string.Empty; var objectValue = DateTime.Now; var stringValue = DateTime.Now.ToString(); var args = new object[] { fieldType, stringValue, objectValue, fieldEditValue, fieldTextValue, fieldHtmlValue }; // Act privateObject.Invoke(GetFieldSpecialValuesMethodName, args); fieldEditValue = args[3] as string; fieldTextValue = args[4] as string; fieldHtmlValue = args[5] as string; // Assert Assert.IsFalse(string.IsNullOrWhiteSpace(fieldEditValue)); Assert.IsFalse(string.IsNullOrWhiteSpace(fieldTextValue)); Assert.IsFalse(string.IsNullOrWhiteSpace(fieldHtmlValue)); }
public void AddParametersForField_FieldOkAllowMultipleValues_AddsExpectedParameters() { // Arrange const string internalNameExpected = "test-internal-name"; var idExpected = Guid.NewGuid(); var prefixExpected = internalNameExpected + "_" + idExpected; var fieldShim = new ShimSPField(); fieldShim.InternalNameGet = () => internalNameExpected; fieldShim.IdGet = () => idExpected; // Act _controlDataBuilder.AddParametersForField(fieldShim, true); // Assert Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("SelectCandidateID")); Assert.AreEqual(prefixExpected + "_SelectCandidate", _controlDataBuilder.Parameters["SelectCandidateID"]); Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("AddButtonID")); Assert.AreEqual(prefixExpected + "_AddButton", _controlDataBuilder.Parameters["AddButtonID"]); Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("RemoveButtonID")); Assert.AreEqual(prefixExpected + "_RemoveButton", _controlDataBuilder.Parameters["RemoveButtonID"]); Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("SelectResultID")); Assert.AreEqual(prefixExpected + "_SelectResult", _controlDataBuilder.Parameters["SelectResultID"]); }
public void GetFieldSpecialValues_FieldTypeText_ShouldExecuteCorrectly() { // Arrange var fieldType = new ShimSPField { TypeGet = () => SPFieldType.Text }.Instance; var fieldEditValue = string.Empty; var fieldTextValue = string.Empty; var fieldHtmlValue = string.Empty; var objectValue = DummyString; var stringValue = DummyString; var args = new object[] { fieldType, stringValue, objectValue, fieldEditValue, fieldTextValue, fieldHtmlValue }; ShimSPField.AllInstances.GetFieldValueAsTextObject = (_, objValue) => DummyString; ShimSPField.AllInstances.GetFieldValueForEditObject = (_, objValue) => DummyString; ShimSPField.AllInstances.GetFieldValueAsHtmlObject = (_, objValue) => DummyString; // Act privateObject.Invoke(GetFieldSpecialValuesMethodName, args); fieldEditValue = args[3] as string; fieldTextValue = args[4] as string; fieldHtmlValue = args[5] as string; // Assert Assert.IsFalse(string.IsNullOrWhiteSpace(fieldEditValue)); Assert.IsFalse(string.IsNullOrWhiteSpace(fieldTextValue)); Assert.IsFalse(string.IsNullOrWhiteSpace(fieldHtmlValue)); }
public void GetListItemCount_OnException_ReturnsExpectedValue() { // Arrange var spWeb = new ShimSPWeb { ListsGet = () => null }.Instance; var field = new ShimSPField { GetCustomPropertyString = GetItem(new Hashtable { ["AggType"] = null, ["AggColumn"] = null, ["ListQuery"] = DummyString }) }.Instance; // Act var result = privateObject.Invoke(getListItemCountMethodName, spWeb, field, DummyString) as double?; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNull(), () => result.Value.ShouldBe(0)); }
public void CleanupChildrenField_Should_ExecuteCorrectly() { // Arrange var field = new ShimSPField { ParentListGet = () => new ShimSPList { FieldsGet = () => new ShimSPFieldCollection { GetFieldByInternalNameString = name => { if (name == "[Test") { throw new Exception(); } else { return(new ShimSPField()); } } } } }.Instance; const string ChildrenField = "[Dummy] [String] [Test] "; const string ExpectedValue = "[Dummy] [String] "; // Act var result = privateObject.Invoke(CleanupChildrenFieldMethodName, field, ChildrenField) as string; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNullOrEmpty(), () => result.ShouldBe(ExpectedValue)); }
public void GetUpdates_ValidConnection_OpenConnectionAndExecuteCommand() { // Arrange var spFields = new SPField[1]; spFields[0] = new ShimSPField() { IdGet = () => Guid.Empty, ReorderableGet = () => true, ShowInEditFormGet = () => true, InternalNameGet = () => string.Empty }; SetupShims(spFields); SetupDataReaderShims(3); // Act var result = _publisher.getUpdates(Guid.NewGuid().ToString()); // Assert Assert.IsNotNull(result); Assert.AreEqual(0, result.Length); Assert.IsTrue(_isConnectionOpenedCalled); Assert.AreEqual(4, _executeReaderCallCount); Assert.IsTrue(_isWriteEntryCalled); const int expectedSqlCommandDisposeCalls = 4; AssertThatObjectsAreDisposed(expectedSqlCommandDisposeCalls); Assert.IsTrue(_isEventLogDisposeCalled); }
public void GetListItemCount_AggTypeDefault_ReturnsExpectedValue() { // Arrange var spWeb = new ShimSPWeb { ListsGet = () => new ShimSPListCollection { ItemGetString = name => new ShimSPList { GetItemsSPQuery = query => new ShimSPListItemCollection { CountGet = () => 1, GetEnumerator = () => new List <SPListItem> { new ShimSPListItem { ItemGetString = itemName => DummyString, FieldsGet = () => new ShimSPFieldCollection { GetFieldByInternalNameString = internalName => new ShimSPField { GetFieldValueString = fieldName => "Value;#1" } } } }.GetEnumerator() } } } }.Instance; var field = new ShimSPField { GetCustomPropertyString = GetItem(new Hashtable { ["AggType"] = null, ["AggColumn"] = null, ["ListQuery"] = DummyString }) }.Instance; // Act var result = privateObject.Invoke(getListItemCountMethodName, spWeb, field, DummyString) as double?; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNull(), () => result.Value.ShouldBe(1)); }
public void GetRelatedGridFormat_Other_ReturnsString() { // Arrange const string type = "Other"; var field = new ShimSPField(); // Act var actual = (string)privateObj.Invoke( GetRelatedGridFormatMethodName, BindingFlags.Static | BindingFlags.NonPublic, new object[] { type, string.Empty, field.Instance, spWeb.Instance }); // Assert actual.ShouldBe(string.Empty); }
public void SetupShim(string labelTitle) { var _field = new ShimSPField() { DescriptionGet = () => { return(labelTitle); } }; ShimSPField.AllInstances.Update = (_) => { _itemUpdated = true; }; ShimSPFieldCollection.AllInstances.GetFieldByInternalNameString = (_, _1) => { return(_field); }; ShimSPList.AllInstances.FieldsGet = (_) => { return(new ShimSPFieldCollection()); }; ShimSPSecurity.RunWithElevatedPrivilegesSPSecurityCodeToRunElevated = codeToRun => codeToRun(); ShimSPWeb.AllInstances.GetListString = (_, _1) => { return(new ShimSPList()); }; ShimSPWeb.AllInstances.ListsGet = (_) => { return(new ShimSPListCollection()); }; ShimSPListCollection.AllInstances.ItemGetString = (_, _1) => { return(new ShimSPList()); }; }
private void SetupVariables() { validations = 0; publicInstance = BindingFlags.Instance | BindingFlags.Public; nonPublicInstance = BindingFlags.Instance | BindingFlags.NonPublic; guid = Guid.Parse(SampleGuidString1); spWeb = new ShimSPWeb() { IDGet = () => guid, ListsGet = () => spListCollection, AllowUnsafeUpdatesSetBoolean = _ => { }, AllUsersGet = () => new ShimSPUserCollection(), SiteGroupsGet = () => new ShimSPGroupCollection(), RoleDefinitionsGet = () => new ShimSPRoleDefinitionCollection() }; spSite = new ShimSPSite() { IDGet = () => guid }; spListCollection = new ShimSPListCollection() { ItemGetGuid = _ => spList }; spList = new ShimSPList() { IDGet = () => guid, FieldsGet = () => spFieldCollection, GetItemByIdInt32 = _ => spListItem }; spListItemCollection = new ShimSPListItemCollection(); spListItem = new ShimSPListItem() { IDGet = () => DummyInt, TitleGet = () => DummyString, ItemGetString = _ => DummyString }; spFieldCollection = new ShimSPFieldCollection(); spField = new ShimSPField(); spUser = new ShimSPUser(); dataReader = new ShimSqlDataReader() { Close = () => { } }; }
public void GetWorkingOnGridData_WhenCalled_ReturnsString() { // Arrange const string date = "2018-09-16 01:00:00"; const string format = "yyyy/MM/dd HH:mm:ss"; var friendlyDate = Convert.ToDateTime(date).ToString(format); var dataTable = new DataTable(); dataTable.Columns.Add(DueDateColumn); dataTable.Columns.Add(AuthorColumn); var row = dataTable.NewRow(); row[DueDateColumn] = date; row[AuthorColumn] = DummyString; dataTable.Rows.Add(row); var field = new ShimSPField(); var myFieldTypes = new Dictionary <string, SPField>() { [DueDateColumn] = field, [AuthorColumn] = field }; ShimExtensionMethods.ToFriendlyDateDateTime = instance => instance.ToString(format); ShimUtils.GetFieldTypes = () => myFieldTypes; ShimMyWork.GetWorkingOnString = _ => dataTable; ShimMyWork.GetGridSafeValueXElement = input => input.Value; ShimMyWork.BuildFieldElementIDictionaryOfStringSPFieldStringString = (_, value, name) => new XElement(name, value); // Act var actual = XDocument.Parse((string)privateObj.Invoke( GetWorkingOnGridDataMethodName, BindingFlags.Static | BindingFlags.NonPublic, new object[] { string.Empty })); // Assert actual.ShouldSatisfyAllConditions( () => actual.Element("Grid").Element("Body").Element("B").Element("I").Attributes().Count().ShouldBe(3), () => actual.Element("Grid").Element("Body").Element("B").Element("I").Attribute(DueDayColumn).Value.ShouldBe(friendlyDate), () => actual.Element("Grid").Element("Body").Element("B").Element("I").Attribute(DueDateColumn).Value.ShouldBe(date), () => actual.Element("Grid").Element("Body").Element("B").Element("I").Attribute(AuthorColumn).Value.ShouldBe(DummyString)); }
public void GetRelatedGridFormat_Date_ReturnsString() { // Arrange const string type = "Date"; const string format = "yyyy-MM-dd"; const string expected = "yyyy-MM-dd h:mm tt"; var field = new ShimSPField(); ShimMyWork.GetExampleDateFormatSPWebStringStringString = (_, _1, _2, _3) => format; // Act var actual = (string)privateObj.Invoke( GetRelatedGridFormatMethodName, BindingFlags.Static | BindingFlags.NonPublic, new object[] { type, string.Empty, field.Instance, spWeb.Instance }); // Assert actual.ShouldBe(expected); }
public void RenderOptions_Situation8_ConfirmResult() { // Arrange var field = new ShimSPField { TypeGet = () => SPFieldType.Text, RequiredGet = () => false, InternalNameGet = () => $"{DummyString}_" }.Instance; SetupForRenderOptions(DummyString, MemOptionFieldWhere, EditMode); // Act var result = (string)_privateObj.Invoke(RenderOptionsMethod, field); // Assert this.ShouldSatisfyAllConditions( () => result.ShouldNotBeNullOrEmpty(), () => _scriptRegistered.ShouldBeTrue()); }
public void AddParametersForField_FieldOkNotAllowMultiple_AddsExpectedParameters() { // Arrange const string internalNameExpected = "test-internal-name"; var idExpected = Guid.NewGuid(); var prefixExpected = internalNameExpected + "_" + idExpected + "_$"; var fieldShim = new ShimSPField(); fieldShim.InternalNameGet = () => internalNameExpected; fieldShim.IdGet = () => idExpected; fieldShim.FieldRenderingControlGet = () => new ShimBusinessDataFieldControl(); // Act _controlDataBuilder.AddParametersForField(fieldShim, false); // Assert Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("SourceDropDownID")); Assert.AreEqual(prefixExpected + typeof(BusinessDataFieldControl).Name, _controlDataBuilder.Parameters["SourceDropDownID"]); Assert.IsTrue(_controlDataBuilder.Parameters.ContainsKey("SourceControlID")); Assert.AreEqual(prefixExpected + typeof(BusinessDataFieldControl).Name, _controlDataBuilder.Parameters["SourceControlID"]); }
public void GetRealField_WhenCalled_ReturnsSPField() { // Arrange const string schemaXml = @"<child DisplayNameSrcField=""ParentField""/>"; var field = new ShimSPField() { TypeGet = () => SPFieldType.Computed, SchemaXmlGet = () => schemaXml, ParentListGet = () => spList }; spField.InternalNameGet = () => DummyString; // Act var actual = (SPField)privateObject.Invoke( GetRealFieldMethodName, BindingFlags.Static | BindingFlags.Public, new object[] { field.Instance }); // Assert actual.InternalName.ShouldBe(DummyString); }
private void SetupVariables() { validations = 0; publicStatic = BindingFlags.Static | BindingFlags.Public; nonPublicStatic = BindingFlags.Static | BindingFlags.NonPublic; publicInstance = BindingFlags.Instance | BindingFlags.Public; nonPublicInstance = BindingFlags.Instance | BindingFlags.NonPublic; guid = Guid.Parse(SampleGuidString1); request = new Dictionary <string, string>() { ["period"] = DummyString, ["action"] = DummyString, ["duser"] = DummyString, ["ts_uids"] = DummyString, ["tsitemuids"] = DummyString }; currentDate = DateTime.Now; spWeb = new ShimSPWeb() { IDGet = () => guid, SiteGet = () => spSite, ListsGet = () => spListCollection, GetFolderString = _ => spFolder, GetFileString = _ => spFile, FoldersGet = () => spFolderCollection, CurrentUserGet = () => spUser, ServerRelativeUrlGet = () => SampleUrl, AllUsersGet = () => new ShimSPUserCollection(), SiteUsersGet = () => new ShimSPUserCollection(), TitleGet = () => DummyString }; spSite = new ShimSPSite() { IDGet = () => guid, WebApplicationGet = () => new ShimSPWebApplication(), RootWebGet = () => spWeb, FeaturesGet = () => new ShimSPFeatureCollection() { ItemGetGuid = _ => new ShimSPFeature() }, ContentDatabaseGet = () => new ShimSPContentDatabase() }; spListCollection = new ShimSPListCollection() { TryGetListString = _ => spList, ItemGetString = _ => spList, ItemGetGuid = _ => spList }; spList = new ShimSPList() { IDGet = () => guid, FieldsGet = () => spFieldCollection, GetItemByIdInt32 = _ => spListItem, ItemsGet = () => spListItemCollection, GetItemsSPQuery = _ => spListItemCollection, RootFolderGet = () => spFolder, ParentWebGet = () => spWeb, DefaultViewGet = () => spView, ViewsGet = () => spViewCollection, ContentTypesGet = () => spContentTypeCollection, TitleGet = () => DummyString, EventReceiversGet = () => new ShimSPEventReceiverDefinitionCollection(), DefaultViewUrlGet = () => SampleUrl }; spListItemCollection = new ShimSPListItemCollection() { CountGet = () => DummyInt, ItemGetInt32 = _ => spListItem }; spListItem = new ShimSPListItem() { IDGet = () => DummyInt, TitleGet = () => DummyString, ItemGetString = _ => DummyString, ItemGetGuid = _ => DummyString, ItemSetGuidObject = (_, __) => { }, Update = () => { }, FileGet = () => spFile, ParentListGet = () => spList, NameGet = () => DummyString }; spFieldCollection = new ShimSPFieldCollection() { GetFieldByInternalNameString = _ => spField, ContainsFieldString = _ => false, GetFieldString = _ => spField, ItemGetString = _ => spField }; spField = new ShimSPField() { IdGet = () => guid, TitleGet = () => DummyString, InternalNameGet = () => DummyString, ReadOnlyFieldGet = () => false, HiddenGet = () => false, ReorderableGet = () => true, TypeAsStringGet = () => DummyString }; spUser = new ShimSPUser() { IDGet = () => DummyInt, IsSiteAdminGet = () => true, UserTokenGet = () => new ShimSPUserToken(), EmailGet = () => DummyString }; spFolderCollection = new ShimSPFolderCollection() { ItemGetString = _ => spFolder, AddString = _ => spFolder }; spFolder = new ShimSPFolder() { ExistsGet = () => false, SubFoldersGet = () => spFolderCollection, FilesGet = () => spFileCollection, UrlGet = () => SampleUrl, UniqueIdGet = () => guid, ParentWebGet = () => spWeb }; spFileCollection = new ShimSPFileCollection() { CountGet = () => DummyInt, AddStringByteArrayBoolean = (_1, _2, _3) => spFile, AddStringStream = (_1, _2) => spFile, ItemGetString = _ => spFile }; spFile = new ShimSPFile() { Delete = () => { }, OpenBinaryStream = () => null, NameGet = () => DummyString, GetListItemStringArray = _ => spListItem }; spViewCollection = new ShimSPViewCollection() { ItemGetString = _ => spView }; spView = new ShimSPView() { ViewFieldsGet = () => spViewFieldCollection, ServerRelativeUrlGet = () => SampleUrl }; spViewFieldCollection = new ShimSPViewFieldCollection(); spContentTypeCollection = new ShimSPContentTypeCollection() { ItemGetString = _ => spContentType }; spContentType = new ShimSPContentType() { IdGet = () => default(SPContentTypeId), FieldLinksGet = () => spFieldLinkCollection }; spFieldLinkCollection = new ShimSPFieldLinkCollection() { ItemGetGuid = _ => new ShimSPFieldLink() }; transaction = new ShimSqlTransaction() { Commit = () => { }, Rollback = () => { } }; dataReader = new ShimSqlDataReader() { Read = () => false, GetInt32Int32 = _ => One, GetDateTimeInt32 = _ => currentDate, GetStringInt32 = _ => DummyString, GetGuidInt32 = _ => guid, Close = () => { } }; }
public void GetMyWorkGridLayout_WhenCalled_ReturnsString() { // Arrange var data = @" <MyWork> <WebPart ID=""1"" /> <CompleteItemsQuery>False</CompleteItemsQuery> </MyWork>"; var resultXml = string.Format(@" <Grid> <Header /> <LeftCols> <C Name=""Complete""/> </LeftCols> <Cols> <C Name=""ColName""/> <C Name=""{0}""/> </Cols> <RightCols> <C Name=""RightColName""/> </RightCols> </Grid>", WorkingOnColumn); var field = new ShimSPField(); var myFieldTypes = new Dictionary <string, SPField>() { [DueDateColumn] = field, [AuthorColumn] = field, [EditorColumn] = field }; ShimUtils.GetFieldTypes = () => myFieldTypes; ShimResourceManager.AllInstances.GetStringStringCultureInfo = (_, _1, _2) => resultXml; ShimExtensionMethods.ToPrettierNameStringListOfStringSPWeb = (instance, _, _1) => instance; ShimMyWork.ShouldUseReportingDbSPWeb = _ => false; ShimMyWork.GetMyWorkFieldTypeMyWorkFieldIDictionaryOfStringSPFieldStringOut = (MyWorkField myWorkField, IDictionary <string, SPField> fieldTypes, out string format) => { format = "format"; return("Date"); }; GetMyWorkParams.SelectedFields = new List <string>(); ShimMyWork.GetRelatedGridFormatStringStringSPFieldSPWeb = (_, _1, _2, _3) => "editFormat%"; ShimMyWork.GetSettingsString = (string dataParam) => { GetMyWorkParams.SelectedFields.Add(DueDateColumn); GetMyWorkParams.SelectedFields.Add(AuthorColumn); GetMyWorkParams.SelectedFields.Add(EditorColumn); }; // Act var actual = XDocument.Parse((string)privateObj.Invoke( GetMyWorkGridLayoutMethodName, BindingFlags.Static | BindingFlags.NonPublic, new object[] { data })); // Assert actual.ShouldSatisfyAllConditions( () => actual.Element("Grid").Element("Cfg").Attribute("id").Value.ShouldBe("1"), () => actual.Element("Grid").Element("Cols").Elements().Count().ShouldBe(7), () => actual.Element("Grid").Element("Header").Attribute("Author").Value.ShouldBe("Created By"), () => actual.Element("Grid").Element("RightCols").Elements().Count().ShouldBe(0), () => actual.Element("Grid").Element("LeftCols").Element("C").Attribute("Tip").Value.ShouldBe("Mark Complete"), () => actual.Element("Grid").Element("Cols").Elements().FirstOrDefault(x => x.Attribute("Name").Value.Equals(WorkingOnColumn)).Attributes().Count(x => x.Value == "0").ShouldBe(3)); }
public void EnsureFieldsInRequestItem_WhenCalled_ReturnsBoolean() { // Arrange const string workspaceUrl = "WorkspaceUrl"; const string childItem = "ChildItem"; const string url = "http://sampleurl.com"; const string expectedDescription = "sampleurl.com"; var validationCount = 0; var expectedString = $"{guid.ToString()}.{guid.ToString()}.1"; var actualString = string.Empty; var actualFieldUrlValue = default(SPFieldUrlValue); var visitCount = new Dictionary <string, int>() { [workspaceUrl] = 0, [childItem] = 0 }; spList.FieldsGet = () => new ShimSPFieldCollection() { GetFieldByInternalNameString = key => { var result = default(SPField); switch (key) { case workspaceUrl: visitCount[key] = visitCount[key] + 1; if (visitCount[key] > 1) { result = new ShimSPFieldUrl().Instance; } break; case childItem: visitCount[key] = visitCount[key] + 1; if (visitCount[key] > 1) { result = new ShimSPFieldText().Instance; } break; default: result = new ShimSPField() { IdGet = () => guid }.Instance; break; } return(result); }, AddStringSPFieldTypeBoolean = (key, _, __) => { if (key == workspaceUrl || key == childItem) { validationCount = validationCount + 1; } return(key); } }; spWeb.ServerRelativeUrlGet = () => url; spListItem.SystemUpdate = () => { validationCount = validationCount + 1; }; spListItem.ItemSetGuidObject = (_, input) => { if (input.GetType().Equals(typeof(SPFieldUrlValue))) { actualFieldUrlValue = (SPFieldUrlValue)input; validationCount = validationCount + 1; } else if (input.GetType().Equals(typeof(string))) { actualString = (string)input; validationCount = validationCount + 1; } }; ShimSPField.AllInstances.Update = _ => { validationCount = validationCount + 1; }; // Act var actual = (bool)privateObj.Invoke( EnsureFieldsInRequestItemMethodName, BindingFlags.Static | BindingFlags.NonPublic, new object[] { string.Empty, spList.Instance, spWeb.Instance, spListItem.Instance, spListItem.Instance }); // Assert actual.ShouldSatisfyAllConditions( () => actual.ShouldBeTrue(), () => actualString.ShouldBe(expectedString), () => actualFieldUrlValue.Url.ShouldBe(url), () => actualFieldUrlValue.Description.ShouldBe(expectedDescription), () => validationCount.ShouldBe(7)); }
private void commonTest(Boolean groups) { try { SortedList arrGTemp = new SortedList(); PrivateObject objToTestPrivateMethod = new PrivateObject(typeof(getts)); XmlDocument docXml = new XmlDocument(); using (SPEmulators.SPEmulationContext ctx = new SPEmulators.SPEmulationContext(SPEmulators.IsolationLevel.Fake)) { SPList list = new ShimSPList(); SPWeb spWeb = new ShimSPWeb(); docXml.LoadXml("<rows></rows>"); objToTestPrivateMethod.SetField("docXml", docXml); objToTestPrivateMethod.SetField("period", "1"); objToTestPrivateMethod.SetField("ndMainParent", docXml.ChildNodes[0]); objToTestPrivateMethod.SetField("list", list); if (groups) { objToTestPrivateMethod.SetField("arrGroupFields", new string[] { "FirstName", "LastName" }); ShimSPField.AllInstances.IdGet = (instance) => { return(Guid.NewGuid()); }; ShimSPList.AllInstances.FieldsGet = (instance) => { ShimSPFieldCollection fcol = new ShimSPFieldCollection(); fcol.GetFieldByInternalNameString = (internalName) => { ShimSPField field = new ShimSPField(); field.IdGet = () => { return(Guid.NewGuid()); }; field.GetFieldValueAsTextObject = (obj) => { return(internalName); }; return(field); }; return(fcol); }; } ShimSPList.AllInstances.GetItemsSPQuery = (instance, a) => { SPListItemEnumerator sPListItemEnumerator = new SPListItemEnumerator(); return(new ShimSPListItemCollection() { GetEnumerator = () => { return sPListItemEnumerator; }, CountGet = () => { return sPListItemEnumerator.sPListItems.Length; } }); }; objToTestPrivateMethod.Invoke("processList", spWeb, arrGTemp); } } catch (Exception ex) { Assert.Fail(ex.Message); } }
private void SetupVariables() { guid = new Guid(GuidString); spFarm = new ShimSPFarm(); spField = new ShimSPField(); spList = new ShimSPList() { FieldsGet = () => new ShimSPFieldCollection() { GetFieldByInternalNameString = _ => spField }, IDGet = () => guid }; spListItem = new ShimSPListItem() { ParentListGet = () => spList, FieldsGet = () => new ShimSPFieldCollection(), IDGet = () => 1 }; spSite = new ShimSPSite() { WebApplicationGet = () => new ShimSPWebApplication() { ApplicationPoolGet = () => new ShimSPApplicationPool() } }; spUser = new ShimSPUser() { LoginNameGet = () => DummyString, EmailGet = () => DummyString, IDGet = () => 1 }; spWeb = new ShimSPWeb() { ListsGet = () => new ShimSPListCollection() { ItemGetString = _ => spList }, SiteGet = () => spSite, CurrentUserGet = () => spUser, AllUsersGet = () => new ShimSPUserCollection() { GetByIDInt32 = _ => spUser }, IDGet = () => guid, WebsGet = () => new ShimSPWebCollection() { AddStringStringStringUInt32StringBooleanBoolean = (_, _1, _2, _3, _4, _5, _6) => spWeb }, NavigationGet = () => new ShimSPNavigation() { TopNavigationBarGet = () => new ShimSPNavigationNodeCollection() { NavigationGet = () => new ShimSPNavigation() } }, SiteGroupsGet = () => new ShimSPGroupCollection() { GetByIDInt32 = _ => new ShimSPGroup() }, UrlGet = () => DummyString, ServerRelativeUrlGet = () => DummyString, TitleGet = () => DummyString, AllowUnsafeUpdatesSetBoolean = _ => { }, SiteUserInfoListGet = () => spList, SiteUsersGet = () => new ShimSPUserCollection() { GetByIDInt32 = _ => spUser }, EnsureUserString = _ => spUser }; }
private void SetupVariables() { guid = Guid.NewGuid(); now = DateTime.Now; userList = new List <SPFieldUserValue>() { new ShimSPFieldUserValue() { UserGet = () => new ShimSPUser() { LoginNameGet = () => GetStringOutput, IDGet = () => 1 } }.Instance }; listItem = new ShimSPListItem() { IDGet = () => 1, ItemGetGuid = _ => new object(), SystemUpdate = () => { }, ItemGetString = key => { var result = key; switch (key) { case "taskorder": case "taskuid": result = "1"; break; } return(result); }, TitleGet = () => Title }; list = new ShimSPList() { FieldsGet = () => new ShimSPFieldCollection() { GetFieldByInternalNameString = _ => new ShimSPField() { IdGet = () => guid }, ItemGetGuid = _ => new ShimSPField() { GetFieldValueString = _1 => GetStringOutput } }, GetItemsSPQuery = _ => new ShimSPListItemCollection() { CountGet = () => 1, ItemGetInt32 = _1 => listItem }, GetItemByIdInt32 = _ => listItem, IDGet = () => guid, ParentWebGet = () => new ShimSPWeb() { GetSiteDataSPSiteDataQuery = _ => dTable }, Update = () => { } }; spField = new ShimSPField() { IdGet = () => guid, InternalNameGet = () => InternalNameString, SchemaXmlGet = () => PublishStatusShowResultsFalse }; defs = new Dictionary <string, PlannerDefinition>() { [GetStringOutput] = new PlannerDefinition() }; spSite = new ShimSPSite() { IDGet = () => guid, WebApplicationGet = () => new ShimSPWebApplication() }; spWeb = new ShimSPWeb() { CurrentUserGet = () => new ShimSPUser() { IDGet = () => 1 }, IDGet = () => guid, ListsGet = () => new ShimSPListCollection() { ItemGetString = key => list, TryGetListString = _ => list }, GetFileString = url => new ShimSPFile() { ExistsGet = () => true, ParentFolderGet = () => new ShimSPFolder() { NameGet = () => Planner } }, SiteGet = () => spSite }; dataReader = new ShimSqlDataReader() { Close = () => { }, GetGuidInt32 = index => guid, IsDBNullInt32 = index => false, GetInt32Int32 = index => 2, GetStringInt32 = index => GetStringOutput, GetDateTimeInt32 = index => now }; parameterList = new List <string>(); commandsList = new List <string>(); }