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