Fixed up a broken unit test. For People restriction, IncludeUnknowns doesn't really do much.
This commit is contained in:
parent
e41eddb7a7
commit
3b5189c83f
2 changed files with 8 additions and 7 deletions
|
@ -123,14 +123,14 @@ public class QueryableExtensionsTests
|
||||||
|
|
||||||
[Theory]
|
[Theory]
|
||||||
[InlineData(true, 2)]
|
[InlineData(true, 2)]
|
||||||
[InlineData(false, 1)]
|
[InlineData(false, 2)]
|
||||||
public void RestrictAgainstAgeRestriction_Person_ShouldRestrictEverythingAboveTeen(bool includeUnknowns, int expectedCount)
|
public void RestrictAgainstAgeRestriction_Person_ShouldRestrictEverythingAboveTeen(bool includeUnknowns, int expectedPeopleCount)
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var items = new List<Person>
|
var items = new List<Person>
|
||||||
{
|
{
|
||||||
CreatePersonWithSeriesMetadata("Test1", AgeRating.Teen),
|
CreatePersonWithSeriesMetadata("Test1", AgeRating.Teen),
|
||||||
CreatePersonWithSeriesMetadata("Test2", AgeRating.Unknown, AgeRating.Teen),
|
CreatePersonWithSeriesMetadata("Test2", AgeRating.Unknown, AgeRating.Teen), // 2 series on this person, restrict will still allow access
|
||||||
CreatePersonWithSeriesMetadata("Test3", AgeRating.X18Plus)
|
CreatePersonWithSeriesMetadata("Test3", AgeRating.X18Plus)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ public class QueryableExtensionsTests
|
||||||
var filtered = items.AsQueryable().RestrictAgainstAgeRestriction(ageRestriction);
|
var filtered = items.AsQueryable().RestrictAgainstAgeRestriction(ageRestriction);
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.Equal(expectedCount, filtered.Count());
|
Assert.Equal(expectedPeopleCount, filtered.Count());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Person CreatePersonWithSeriesMetadata(string name, params AgeRating[] ageRatings)
|
private static Person CreatePersonWithSeriesMetadata(string name, params AgeRating[] ageRatings)
|
||||||
|
|
|
@ -101,12 +101,13 @@ public static class RestrictByAgeExtensions
|
||||||
|
|
||||||
if (restriction.IncludeUnknowns)
|
if (restriction.IncludeUnknowns)
|
||||||
{
|
{
|
||||||
return queryable.Where(c => c.SeriesMetadataPeople.All(sm =>
|
return queryable.Where(c =>
|
||||||
sm.SeriesMetadata.AgeRating <= restriction.AgeRating));
|
c.SeriesMetadataPeople.Any(sm => sm.SeriesMetadata.AgeRating <= restriction.AgeRating) ||
|
||||||
|
c.ChapterPeople.Any(cp => cp.Chapter.AgeRating <= restriction.AgeRating));
|
||||||
}
|
}
|
||||||
|
|
||||||
return queryable.Where(c =>
|
return queryable.Where(c =>
|
||||||
c.SeriesMetadataPeople.Any(sm => sm.SeriesMetadata.AgeRating <= restriction.AgeRating && sm.SeriesMetadata.AgeRating != AgeRating.Unknown) &&
|
c.SeriesMetadataPeople.Any(sm => sm.SeriesMetadata.AgeRating <= restriction.AgeRating && sm.SeriesMetadata.AgeRating != AgeRating.Unknown) ||
|
||||||
c.ChapterPeople.Any(cp => cp.Chapter.AgeRating <= restriction.AgeRating && cp.Chapter.AgeRating != AgeRating.Unknown)
|
c.ChapterPeople.Any(cp => cp.Chapter.AgeRating <= restriction.AgeRating && cp.Chapter.AgeRating != AgeRating.Unknown)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue