コード例 #1
0
        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);
        }
コード例 #2
0
        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.");
        }