public async Task TestGetCollaboratorsAsync() { var programId = 10; var queryModel = new PagingQueryBindingModel <ResourceAuthorization>(); queryModel.Start = 0; queryModel.Limit = 10; Action <QueryableOperator <ResourceAuthorization> > callbackTester = (op) => { Assert.AreEqual(2, op.Filters.Count); var filters = op.Filters.ToList().Select(x => (ExpressionFilter <ResourceAuthorization>)x).ToList(); var foreignResourceIdFilter = filters.Where(x => x.Property == "ForeignResourceId").FirstOrDefault(); Assert.IsNotNull(foreignResourceIdFilter, "The foreign resource filter must exist."); Assert.AreEqual(ComparisonType.Equal.Value, foreignResourceIdFilter.Comparison); Assert.AreEqual(programId, foreignResourceIdFilter.Value); var resourceTypeFilter = filters.Where(x => x.Property == "ResourceTypeId").FirstOrDefault(); Assert.IsNotNull(resourceTypeFilter, "The resource type filter must exist."); Assert.AreEqual(ComparisonType.Equal.Value, resourceTypeFilter.Comparison); Assert.AreEqual(ResourceType.Program.Id, resourceTypeFilter.Value); }; resourceService.Setup(x => x.GetResourceAuthorizationsAsync(It.IsAny <QueryableOperator <ResourceAuthorization> >())) .ReturnsAsync(new PagedQueryResults <ResourceAuthorization>(0, new List <ResourceAuthorization>())) .Callback(callbackTester); var response = await controller.GetCollaboratorsAsync(programId, queryModel); Assert.IsInstanceOfType(response, typeof(OkNegotiatedContentResult <PagedQueryResults <ResourceAuthorization> >)); }