public void ExportProjects_Csv_Success(ProjectFilter filter) { // Arrange var helper = new TestHelper(); var controller = helper.CreateController <ProjectController>(Permissions.PropertyView); var headers = helper.GetService <Mock <Microsoft.AspNetCore.Http.IHeaderDictionary> >(); headers.Setup(m => m["Accept"]).Returns(ContentTypes.CONTENT_TYPE_CSV); var agency = EntityHelper.CreateAgency(1); var project = new Entity.Project() { Agency = agency }; var projects = new[] { project }; var service = helper.GetService <Mock <IPimsService> >(); var mapper = helper.GetService <IMapper>(); var page = new Entity.Models.Paged <Entity.Project>(projects, filter.Page, filter.Quantity); service.Setup(m => m.Project.GetPage(It.IsAny <Entity.Models.ProjectFilter>())).Returns(page); // Act var result = controller.ExportProjects(filter); // Assert var actionResult = Assert.IsType <ContentResult>(result); var actualResult = Assert.IsType <string>(actionResult.Content); Assert.Equal(ContentTypes.CONTENT_TYPE_CSV, actionResult.ContentType); service.Verify(m => m.Project.GetPage(It.IsAny <Entity.Models.ProjectFilter>()), Times.Once()); }
public void GetRoles_Filtered_Success() { // Arrange var helper = new TestHelper(); var controller = helper.CreateController <RoleController>(Permissions.AdminRoles); var mapper = helper.GetService <IMapper>(); var service = helper.GetService <Mock <IPimsRepository> >(); var roles = new Entity.PimsRole[] { EntityHelper.CreateRole("role1"), EntityHelper.CreateRole("role2") }; var paged = new Entity.Models.Paged <Entity.PimsRole>(roles); service.Setup(m => m.Role.Get(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(paged); // Act var result = controller.GetRoles(1, 10, "test"); // Assert var actionResult = Assert.IsType <JsonResult>(result); Assert.Null(actionResult.StatusCode); var actualResult = Assert.IsType <Pims.Api.Models.PageModel <Model.RoleModel> >(actionResult.Value); Assert.Equal(mapper.Map <Model.RoleModel[]>(roles), actualResult.Items, new DeepPropertyCompare()); service.Verify(m => m.Role.Get(1, 10, "test"), Times.Once()); }
public void GetAccessRequests_PageMax_Success() { // Arrange var helper = new TestHelper(); var controller = helper.CreateController <AccessRequestController>(Permissions.AdminUsers); var mapper = helper.GetService <IMapper>(); var service = helper.GetService <Mock <IPimsAdminService> >(); var accessRequest1 = EntityHelper.CreateAccessRequest(1); var accessRequest2 = EntityHelper.CreateAccessRequest(2); var accessRequests = new[] { accessRequest1, accessRequest2 }; var paged = new Entity.Models.Paged <Entity.AccessRequest>(accessRequests); service.Setup(m => m.User.GetAccessRequests(It.IsAny <AccessRequestFilter>())).Returns(paged); // Act var result = controller.GetPage(2, 100); // Assert var actionResult = Assert.IsType <JsonResult>(result); Assert.Null(actionResult.StatusCode); var actualResult = Assert.IsType <PageModel <Model.AccessRequestModel> >(actionResult.Value); Assert.Equal(mapper.Map <Model.AccessRequestModel[]>(accessRequests), actualResult.Items, new DeepPropertyCompare()); service.Verify(m => m.User.GetAccessRequests(It.IsAny <AccessRequestFilter>()), Times.Once()); }
public void GetOrganizations_Filtered_Success() { // Arrange var helper = new TestHelper(); var controller = helper.CreateController <OrganizationController>(Permissions.AdminOrganizations); var mapper = helper.GetService <IMapper>(); var service = helper.GetService <Mock <IPimsRepository> >(); var organizations = new Entity.PimsOrganization[] { EntityHelper.CreateOrganization(1, "organization1"), EntityHelper.CreateOrganization(2, "organization2") }; var paged = new Entity.Models.Paged <Entity.PimsOrganization>(organizations); service.Setup(m => m.UserOrganization.Get(It.IsAny <Entity.Models.OrganizationFilter>())).Returns(paged); var filter = new Entity.Models.OrganizationFilter(1, 10); // Act var result = controller.GetOrganizations(filter); // Assert var actionResult = Assert.IsType <JsonResult>(result); Assert.Null(actionResult.StatusCode); var actualResult = Assert.IsType <Pims.Api.Models.PageModel <Model.OrganizationModel> >(actionResult.Value); Assert.Equal(mapper.Map <Model.OrganizationModel[]>(organizations), actualResult.Items, new DeepPropertyCompare()); service.Verify(m => m.UserOrganization.Get(filter), Times.Once()); }
public void GetMyUsers_Success() { // Arrange var helper = new TestHelper(); var controller = helper.CreateController <UserController>(Permissions.AdminUsers); var mapper = helper.GetService <IMapper>(); var service = helper.GetService <Mock <IPimsAdminService> >(); var users = new Entity.User[] { EntityHelper.CreateUser("user1"), EntityHelper.CreateUser("user2") }; var paged = new Entity.Models.Paged <Entity.User>(users); var filter = new Entity.Models.UserFilter(1, 1, "test", "test", "test", "test", "test", "test", false, "test", "test", null); service.Setup(m => m.User.Get(It.IsAny <Entity.Models.UserFilter>())).Returns(paged); // Act var result = controller.GetMyUsers(filter); // Assert var actionResult = Assert.IsType <JsonResult>(result); Assert.Null(actionResult.StatusCode); var actualResult = Assert.IsType <Pims.Api.Models.PageModel <Model.UserModel> >(actionResult.Value); Assert.Equal(mapper.Map <Model.UserModel[]>(users), actualResult.Items, new DeepPropertyCompare()); service.Verify(m => m.User.Get(It.IsAny <Entity.Models.UserFilter>()), Times.Once()); }
public void GetProjectsPage_Success(ProjectFilter filter) { // Arrange var helper = new TestHelper(); var controller = helper.CreateController <SearchController>(Permissions.ProjectView); var projects = EntityHelper.CreateProjects(1, 20); var parcels = EntityHelper.CreateParcels(1, 2); var buildings1 = EntityHelper.CreateBuildings(parcels.Next(0), 1, 5); var buildings2 = EntityHelper.CreateBuildings(parcels.Next(1), 6, 5); projects.Next(0).AddProperty(parcels.Next(0)); projects.Next(0).AddProperty(buildings1.ToArray()); projects.Next(1).AddProperty(parcels.Next(1)); projects.Next(1).AddProperty(buildings2.ToArray()); var service = helper.GetService <Mock <IPimsService> >(); var mapper = helper.GetService <IMapper>(); var page = new Entity.Models.Paged <Entity.Project>(projects, filter.Page, filter.Quantity); service.Setup(m => m.Project.GetPage(It.IsAny <Entity.Models.ProjectFilter>())).Returns(page); // Act var result = controller.GetProjectsPage(filter); // Assert var actionResult = Assert.IsType <JsonResult>(result); var actualResult = Assert.IsType <Api.Models.PageModel <ProjectModel> >(actionResult.Value); var expectedResult = mapper.Map <ProjectModel[]>(projects); Assert.Equal(expectedResult, actualResult.Items.ToArray(), new ShallowPropertyCompare()); service.Verify(m => m.Project.GetPage(It.IsAny <Entity.Models.ProjectFilter>()), Times.Once()); }
public void GetAgencies_Filtered_Success() { // Arrange var helper = new TestHelper(); var controller = helper.CreateController <AgencyController>(Permissions.AdminAgencies); var mapper = helper.GetService <IMapper>(); var service = helper.GetService <Mock <IPimsAdminService> >(); var agencies = new Entity.Agency[] { EntityHelper.CreateAgency(1, "agency1"), EntityHelper.CreateAgency(2, "agency2") }; var paged = new Entity.Models.Paged <Entity.Agency>(agencies); service.Setup(m => m.Agency.Get(It.IsAny <Entity.Models.AgencyFilter>())).Returns(paged); var filter = new Entity.Models.AgencyFilter(1, 10); // Act var result = controller.GetAgencies(filter); // Assert var actionResult = Assert.IsType <JsonResult>(result); Assert.Null(actionResult.StatusCode); var actualResult = Assert.IsType <Pims.Api.Models.PageModel <Model.AgencyModel> >(actionResult.Value); Assert.Equal(mapper.Map <Model.AgencyModel[]>(agencies), actualResult.Items, new DeepPropertyCompare()); service.Verify(m => m.Agency.Get(filter), Times.Once()); }