示例#1
0
        public void InitializeWithField_Should_ExecuteCorrectly()
        {
            // Arrange
            ShimUserControl.AllInstances.IsPostBackGet = _ => false;
            var field = new ShimFilteredLookupField
            {
                AllowMultipleValuesGet = () => true,
                QueryFilterAsStringGet = () => DummyString,
                IsFilterRecursiveGet   = () => true,
                ListViewFilterGet      = () => DummyString
            };

            ShimFilteredLookupFieldEditor.AllInstances.SetTargetWeb         = _ => { };
            ShimFilteredLookupFieldEditor.AllInstances.SetControlVisibility = _ => { };
            ShimListControl.AllInstances.SelectedItemGet = _ => new ListItem(DummyString, DummyString);

            // Act
            filteredLookupFieldEditor.InitializeWithField(field);

            // Assert
            filteredLookupFieldEditor.ShouldSatisfyAllConditions(
                () => lblTargetWeb.Text.ShouldBe(DummyString),
                () => lblTargetList.Text.ShouldBe(DummyString),
                () => cbxAllowMultiValue.Checked.ShouldBeTrue(),
                () => cbxRecursiveFilter.Checked.ShouldBeTrue());
        }
示例#2
0
        public void OnSaveChange_FilterOptionListView_ExecutesCorrectly()
        {
            // Arrange
            var          queryFilterAsString = string.Empty;
            var          lookupList          = string.Empty;
            var          lookupField         = string.Empty;
            var          listViewFilter      = string.Empty;
            var          isFilterRecursive   = false;
            var          countRelated        = false;
            const string SelectedItem        = "ListView";
            var          field = new ShimFilteredLookupField
            {
                QueryFilterAsStringSetString = value =>
                {
                    queryFilterAsString = value;
                },
                ListViewFilterSetString = value =>
                {
                    listViewFilter = value;
                },
                IsFilterRecursiveSetBoolean = value =>
                {
                    isFilterRecursive = value;
                }
            }.Instance;

            txtQueryFilter.Text        = DummyString;
            cbxRecursiveFilter.Checked = true;
            ShimSPControl.GetContextSiteHttpContext = _ => new ShimSPSite
            {
                OpenWebGuid = guid => new ShimSPWeb()
            };
            ShimListControl.AllInstances.SelectedItemGet       = _ => new ListItem(DummyString, SelectedItem);
            ShimListControl.AllInstances.SelectedIndexGet      = _ => 0;
            ShimSPFieldLookup.AllInstances.LookupListSetString = (_, value) =>
            {
                lookupList = value;
            };
            ShimSPFieldLookup.AllInstances.CountRelatedSetBoolean = (_, value) =>
            {
                countRelated = value;
            };
            ShimSPFieldLookup.AllInstances.LookupFieldSetString = (_, value) =>
            {
                lookupField = value;
            };

            // Act
            filteredLookupFieldEditor.OnSaveChange(field, false);

            // Assert
            filteredLookupFieldEditor.ShouldSatisfyAllConditions(
                () => queryFilterAsString.ShouldBeEmpty(),
                () => lookupField.ShouldBe(SelectedItem),
                () => listViewFilter.ShouldBe(SelectedItem),
                () => lookupList.ShouldBeEmpty(),
                () => isFilterRecursive.ShouldBeTrue(),
                () => countRelated.ShouldBeFalse());
        }
示例#3
0
        public void OnSaveChange_IsNewField_ExecutesCorrectly()
        {
            // Arrange
            var lookupWebId       = Guid.Empty;
            var lookupList        = string.Empty;
            var lookupField       = string.Empty;
            var isFilterRecursive = false;
            var countRelated      = false;
            var selectedItem      = DummyGuid.ToString();
            var field             = new ShimFilteredLookupField
            {
                IsFilterRecursiveSetBoolean = value =>
                {
                    isFilterRecursive = value;
                }
            }.Instance;

            txtQueryFilter.Text        = DummyString;
            cbxRecursiveFilter.Checked = true;
            ShimSPControl.GetContextSiteHttpContext = _ => new ShimSPSite
            {
                OpenWebGuid = guid => new ShimSPWeb
                {
                    IDGet = () => DummyGuid
                }
            };
            ShimListControl.AllInstances.SelectedItemGet      = _ => new ListItem(DummyString, selectedItem);
            ShimListControl.AllInstances.SelectedIndexGet     = _ => 0;
            ShimSPFieldLookup.AllInstances.LookupWebIdSetGuid = (_, value) =>
            {
                lookupWebId = value;
            };
            ShimSPFieldLookup.AllInstances.LookupListSetString = (_, value) =>
            {
                lookupList = value;
            };
            ShimSPFieldLookup.AllInstances.CountRelatedSetBoolean = (_, value) =>
            {
                countRelated = value;
            };
            ShimSPFieldLookup.AllInstances.LookupFieldSetString = (_, value) =>
            {
                lookupField = value;
            };

            // Act
            filteredLookupFieldEditor.OnSaveChange(field, true);

            // Assert
            filteredLookupFieldEditor.ShouldSatisfyAllConditions(
                () => lookupWebId.ShouldBe(DummyGuid),
                () => lookupField.ShouldBe(selectedItem),
                () => lookupList.ShouldBe(selectedItem),
                () => isFilterRecursive.ShouldBeTrue(),
                () => countRelated.ShouldBeFalse());
        }