public void Constructor(QueryFilter queryFilter) { Mock <IQueryRepository> mockRepository; FilteringQueryRepository filteringRepository; mockRepository = new Mock <IQueryRepository>(MockBehavior.Strict); filteringRepository = new FilteringQueryRepository(mockRepository.Object, queryFilter); Assert.That(filteringRepository.Repository, Is.EqualTo(mockRepository.Object)); Assert.That(filteringRepository.QueryFilter, Is.EqualTo(queryFilter)); }
public void TestQueriesGetFiltered(QueryFilter queryFilter, int mockResultToMatch, bool nullParams) { FilteringQueryRepository filteringRepository; Mock <IQueryRepository> mockRepository; long subjectId = 1; EntityRef permissionId = nullParams ? null : new EntityRef(2); long typeId = 3; IList <long> securableTypes = nullParams ? null : new List <long> { typeId }; StructuredQuery queryWithCurrentUser; StructuredQuery queryWithoutCurrentUser; AccessRuleQuery[] mockResults; IEnumerable <AccessRuleQuery> result; queryWithoutCurrentUser = TestQueries.Entities(new EntityRef(typeId)); queryWithCurrentUser = TestQueries.Entities(new EntityRef(typeId)); queryWithCurrentUser.Conditions.Add(new QueryCondition { Operator = ConditionType.CurrentUser }); mockResults = new AccessRuleQuery[] { new AccessRuleQuery(1, 2, 3, queryWithoutCurrentUser, false), new AccessRuleQuery(4, 5, 6, queryWithCurrentUser, false) }; mockRepository = new Mock <IQueryRepository>(MockBehavior.Strict); mockRepository.Setup(qr => qr.GetQueries(subjectId, permissionId, securableTypes)).Returns(mockResults); filteringRepository = new FilteringQueryRepository(mockRepository.Object, queryFilter); result = filteringRepository.GetQueries(subjectId, permissionId, securableTypes); Assert.That(result, Is.EquivalentTo(new[] { mockResults[mockResultToMatch] })); }