public void GetLeftCols_WhenCalled_ReturnsString()
        {
            // Arrange
            const string input = "Complete:100,CommentCount:100,Priority:100,Other:100";

            var myWorkGridView = new MyWorkGridView()
            {
                LeftCols = input
            };

            // Act
            var actual = ((string)privateObj.Invoke(
                              GetLeftColsMethodName,
                              BindingFlags.Static | BindingFlags.NonPublic,
                              new object[] { myWorkGridView })).Split(',');

            // Assert
            actual.ShouldSatisfyAllConditions(
                () => actual.Length.ShouldBe(4),
                () => actual[0].Split(':')[0].ShouldBe("Complete"),
                () => actual[0].Split(':')[1].ShouldBe("25"),
                () => actual[1].Split(':')[0].ShouldBe("CommentCount"),
                () => actual[1].Split(':')[1].ShouldBe("36"),
                () => actual[2].Split(':')[0].ShouldBe("Priority"),
                () => actual[2].Split(':')[1].ShouldBe("25"),
                () => actual[3].Split(':')[0].ShouldBe("Other"),
                () => actual[3].Split(':')[1].ShouldBe("100"));
        }
        public void SaveGlobalViews_WhenCalled_SavesViews()
        {
            // Arrange
            var actual         = new List <MyWorkGridView>();
            var actualSave     = false;
            var myWorkGridView = new MyWorkGridView()
            {
                Id      = "1",
                Default = true
            };
            var myWorkGridViews = new List <MyWorkGridView>()
            {
                myWorkGridView,
                myWorkGridView,
                new MyWorkGridView()
                {
                    Id      = "2",
                    Default = true
                }
            };

            ShimMyWork.SaveGlobalViewsIEnumerableOfMyWorkGridViewSPWeb = (gridViews, _1) =>
            {
                actual.AddRange(gridViews);
                actualSave = true;
            };
            ShimMyWork.GetGlobalViewsSPWeb = _ => myWorkGridViews;

            // Act
            privateObj.Invoke(
                SaveGlobalViewsMethodName,
                BindingFlags.Static | BindingFlags.Public,
                new object[] { myWorkGridView, spWeb.Instance });

            // Assert
            actual.ShouldSatisfyAllConditions(
                () => actualSave.ShouldBeTrue(),
                () => actual.ShouldNotBeNull(),
                () => actual.Count.ShouldBe(2),
                () => actual[0].Id.ShouldBe(2.ToString()),
                () => actual[1].Id.ShouldBe(1.ToString()),
                () => actual[0].Default.ShouldBeFalse(),
                () => actual[1].Default.ShouldBeTrue());
        }
        public void DeletePersonalView_WhenCalled_SavesViews()
        {
            // Arrange
            const string viewId = "1";

            var gridView = new MyWorkGridView()
            {
                Id      = viewId,
                Default = true
            };
            var personalViews = new List <MyWorkGridView>()
            {
                gridView,
                new MyWorkGridView()
                {
                    Id      = "2",
                    Default = false
                },
                gridView
            };
            var actualSave = false;
            var actual     = new List <MyWorkGridView>();

            ShimMyWork.SavePersonalViewsIEnumerableOfMyWorkGridViewSPWeb = (gridViews, _1) =>
            {
                actual.AddRange(gridViews);
                actualSave = true;
            };

            // Act
            privateObj.Invoke(
                DeletePersonalViewMethodName,
                BindingFlags.Static | BindingFlags.NonPublic,
                new object[] { viewId, personalViews, spWeb.Instance });

            // Assert
            actual.ShouldSatisfyAllConditions(
                () => actualSave.ShouldBeTrue(),
                () => actual.ShouldNotBeNull(),
                () => actual.Count.ShouldBe(1),
                () => actual[0].Id.ShouldBe(2.ToString()),
                () => actual[0].Default.ShouldBeFalse());
        }
Exemple #4
0
        private static void ConfigureMyWorkViews()
        {
            SPWeb configWeb = Utils.GetConfigWeb();

            List <MyWorkGridView> myWorkGridViews = MyWork.GetGlobalViews(configWeb).ToList();

            MyWorkGridView defaultView = myWorkGridViews.FirstOrDefault(view => view.Id.Equals("dv"));

            if (defaultView != null)
            {
                if (!defaultView.Cols.Split(',').Any(col => col.Split(':')[0].ToLower().Equals("workingon")))
                {
                    defaultView.Cols = defaultView.Cols + ",WorkingOn:95";

                    MyWork.SaveGlobalViews(defaultView, configWeb);
                }
            }

            myWorkGridViews = MyWork.GetGlobalViews(configWeb).ToList();

            bool workingOnViewExists = myWorkGridViews.Any(view => view.Name.Trim().ToLower().Equals("working on it"));

            if (!workingOnViewExists)
            {
                MyWorkGridView workingOnView = myWorkGridViews.FirstOrDefault(view => view.Id.Equals("dv"));

                if (workingOnView != null)
                {
                    workingOnView.Name    = "Working On It";
                    workingOnView.Id      = workingOnView.Name.Md5().ToLower();
                    workingOnView.Filters = "0|WorkingOn:1:11";
                    workingOnView.Default = false;

                    MyWork.SaveGlobalViews(workingOnView, configWeb);
                }
            }
        }