Пример #1
0
        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());
        }
Пример #2
0
        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());
        }
Пример #4
0
        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());
        }
Пример #5
0
        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());
        }
Пример #6
0
        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());
        }
Пример #7
0
        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());
        }