public void GetGanttExclude_WhenCalled_ReturnsString() { // Arrange const short workDayStartHour = 9; const short workDayEndHour = 6; var expected = new StringBuilder(); expected.Append("d#0:00~9:00#4;d#14:00~15:00#4;d#6:00~24:00#4;") .Append("w#2008-01-06~2008-01-07#5;") .Append("w#2008-01-08~2008-01-09#5;") .Append("w#2008-01-09~2008-01-10#5;") .Append("w#2008-01-10~2008-01-11#5;") .Append("w#2008-01-11~2008-01-12#5;") .Append("w#2008-01-12~2008-01-13#5;") .Append("2016-01-10~2016-01-11#3;") .Append("2016-01-10 00:00~2016-01-10 9:00;2016-01-10 5:00~2016-01-11 24:00#3"); var dataTable = new DataTable(); dataTable.Columns.Add(DateColumn); dataTable.Columns.Add(HoursColumn); var row = dataTable.NewRow(); row[DateColumn] = "2016-01-10"; row[HoursColumn] = string.Empty; dataTable.Rows.Add(row); row = dataTable.NewRow(); row[DateColumn] = "2016-01-10"; row[HoursColumn] = "1"; dataTable.Rows.Add(row); var regionalSettings = new ShimSPRegionalSettings() { WorkDaysGet = () => 2 }; ShimCoreFunctions.getLockedWebSPWeb = _ => guid; ShimSPListItemCollection.AllInstances.GetDataTable = _ => dataTable; // Act var actual = (string)privateObject.Invoke( GetGanttExcludeMethodName, BindingFlags.Instance | BindingFlags.NonPublic, new object[] { regionalSettings.Instance, spWeb.Instance, workDayStartHour, workDayEndHour }); // Assert actual.ShouldBe(expected.ToString()); }
public void GetLayout_WhenCalled_ReturnsString() { // Arrange const string data = "<xmlcfg/>"; const string layoutXml = @" <xmlcfg> <Header/> <Cols/> </xmlcfg>"; const string fieldsResponse = @" <xmlcfg> <Error>Error</Error> <GetMyWorkFields> <Data> <Field Name=""FieldName1""/> <Field Name=""FieldName2""/> </Data> </GetMyWorkFields> </xmlcfg>"; var validationCount = 0; var regionalSettings = new ShimSPRegionalSettings() { LocaleIdGet = () => 1033, WorkDayStartHourGet = () => 540, WorkDayEndHourGet = () => 1080 }; spWeb.RegionalSettingsGet = () => regionalSettings; ShimResourceManager.AllInstances.GetStringStringCultureInfo = (_, _1, _2) => layoutXml; ShimWorkEngineAPI.AllInstances.ExecuteStringString = (_, _1, _2) => fieldsResponse; ShimUtilities.DecodeGridDataString = input => input; ShimGridManager.RegisterGridIdAndCssXElementXDocument = (_, __) => { validationCount = validationCount + 1; }; ShimGridManager.AllInstances.GetGanttExcludeSPRegionalSettingsSPWebInt16Int16 = (_, _1, _2, _3, _4) => { validationCount = validationCount + 1; return(string.Empty); }; ShimGridManager.ConfigureDefaultColumnsSPListStringStringSPWebInt16Int16StringXDocumentRefListOfStringRef = (SPList spList, string datePattern, string currencyFormat, SPWeb spWeb, short workDayStartHour, short workDayEndHour, string ganttExclude, ref XDocument layoutXmlParam, ref List <string> defaultColumns) => { validationCount = validationCount + 1; }; ShimGridManager.ConfigureColumnsSPWebStringXElementRefXElementRefStringListOfStringIEnumerableOfStringSPList = (SPWeb spWeb, string currencyFormat, ref XElement headerElement, ref XElement colsElement, string datePattern, List <string> defaultColumns, IEnumerable <string> fields, SPList spList) => { validationCount = validationCount + 1; }; // Act var actual = (string)privateObject.Invoke( GetLayoutMethodName, BindingFlags.Instance | BindingFlags.Public, new object[] { data }); // Assert validationCount.ShouldBe(4); }