public void GroupFilters_RelatedDataViewLocation_CanSerializeSettings() { var settingsSource = new Rock.Reporting.DataFilter.Group.LocationDataViewFilter.FilterSettings(); settingsSource.DataViewGuid = TestGuids.Groups.DataViewLocationsOutsideArizonaGuid.AsGuid(); var settingsString = settingsSource.ToSelectionString(); var settingsTarget = new Rock.Reporting.DataFilter.Group.LocationDataViewFilter.FilterSettings(settingsString); Assert.That.AreEqual(TestGuids.Groups.DataViewLocationsOutsideArizonaGuid, settingsTarget.DataViewGuid); }
public void GroupFilters_RelatedDataViewLocation_ShouldNotReturnGroupWithNoRelatedLocations() { var settings = new Rock.Reporting.DataFilter.Group.LocationDataViewFilter.FilterSettings(); settings.DataViewGuid = TestGuids.Groups.DataViewLocationsOutsideArizonaGuid.AsGuid(); var groupQuery = GetGroupQueryWithLocationDataViewFilter(settings); var results = groupQuery.ToList(); Assert.That.IsTrue(results.Count > 0, "The result set must contain at least one group."); // Verify that there are no Groups in the result set having any Location where State = "AZ". var countOfGroupsInArizona = results.Where(x => x.GroupLocations.Any(gl => gl.Location.State == "AZ")).Count(); Assert.That.IsTrue(countOfGroupsInArizona == 0, "The result set contains one or more groups that do not match the location filter."); }