public async Task GetCostOwners(int number) { var fixture = new Fixture(); var costOwnerViewModels = fixture.CreateMany <CostOwnerViewModel>(number).ToList(); var query = new CostQuery(); var expected = costOwnerViewModels.Count; AdvancedSearchServiceMock.Setup(a => a.SearchOwners(query)).ReturnsAsync(costOwnerViewModels); var result = await AdvancedSearchController.GetCostOwners(query); var objectResult = result.As <OkObjectResult>(); objectResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var costUserSearchItems = objectResult.Value as IEnumerable <CostOwnerViewModel>; costUserSearchItems.Should().NotBeNull(); costUserSearchItems.Count().Should().Be(expected); var userList = costUserSearchItems.ToList(); userList.ForEach(u => { u.FullName.Should().NotBeNullOrEmpty(); var valid = Guid.TryParse(u.Id.ToString(), out var validGuid); valid.Should().BeTrue(); u.Id.Should().Be(validGuid); }); }
public void Init() { _costServiceMock = new Mock <ICostService>(); UserSearchServiceMock = new Mock <IUserSearchService>(); _permissionServiceMock = new Mock <IPermissionService>(); AdvancedSearchServiceMock = new Mock <IAdvancedSearchService>( ); _permissionServiceMock.Setup(a => a.GetObjectUserGroups(It.IsAny <Guid>(), It.IsAny <Guid?>())) .ReturnsAsync(new[] { Guid.NewGuid().ToString() }); var actionDescriptor = new Mock <ActionDescriptor>(); actionDescriptor.SetupGet(x => x.DisplayName).Returns("Action_With_SomeAttribute"); User = new UserIdentity { AgencyId = Guid.NewGuid(), BuType = BuType.Pg, Email = "email", FirstName = "Bruce", FullName = "Bat Man", LastName = "Wayne", GdamUserId = "gdamID", Id = Guid.NewGuid(), ModuleId = Guid.NewGuid() }; WatchersController = SetupWatcherController(actionDescriptor.Object); AdvancedSearchController = SetupAdvancedSearchController(actionDescriptor.Object); }
private AdvancedSearchController SetupAdvancedSearchController(ActionDescriptor actionDescriptor) { AdvancedSearchController = new AdvancedSearchController(_permissionServiceMock.Object, AdvancedSearchServiceMock.Object) { ControllerContext = new ControllerContext() }; AdvancedSearchController.ControllerContext.HttpContext = new DefaultHttpContext(); AdvancedSearchController.HttpContext.Request.Headers["X-Forwarded-For"] = "127.0.0.1"; AdvancedSearchController.HttpContext.Items["user"] = User; var httpActionContext = new ActionExecutingContext( new ActionContext { HttpContext = AdvancedSearchController.HttpContext, RouteData = new RouteData(), ActionDescriptor = actionDescriptor }, new Mock <List <IFilterMetadata> >().Object, new Mock <IDictionary <string, object> >().Object, AdvancedSearchController); AdvancedSearchController.OnActionExecuting(httpActionContext); return(AdvancedSearchController); }