public async Task GetUserCompanyMonthlyCommissionData() { var data = new UserCompanyMonthlyCommissionData() { AmountExcludingVAT = 100, CompanyId = Guid.NewGuid(), }; var items = new List <UserCompanyMonthlyCommissionData>() { data }; var service = new Mock <ICommissionReportService>(); var authService = TestHelper.MockAuthenticationService(Scope.Branch); UserCompanyMonthlyCommissionQueryOptions queryOptions = null; service.Setup(c => c.GetUserCompanyMonthlyCommissionData(It.IsAny <UserCompanyMonthlyCommissionQueryOptions>())) .Callback((UserCompanyMonthlyCommissionQueryOptions options) => queryOptions = options) .ReturnsAsync(items); var controller = new CommissionReportsController(service.Object, authService.Object); var companyId = Guid.NewGuid(); var result = await controller.GetUserCompanyMonthlyCommissionData("AmountExcludingVAT", "desc", 15, 2, $"companyId=" + companyId.ToString()); Assert.Equal(Scope.Branch, queryOptions.Scope.Scope); Assert.Equal("AmountExcludingVAT", queryOptions.SortOptions.Column); Assert.Equal(SortDirection.Descending, queryOptions.SortOptions.Direction); Assert.Equal(15, queryOptions.PageOptions.Size); Assert.Equal(2, queryOptions.PageOptions.Number); Assert.Equal(companyId, queryOptions.CompanyId.Single()); var okResult = Assert.IsType <OkObjectResult>(result); var returnValue = Assert.IsType <List <UserCompanyMonthlyCommissionData> >(okResult.Value); Assert.Same(items, returnValue); }