Ejemplo n.º 1
0
        public void ExportProjects_ExcelX_Query_Success(Uri uri)
        {
            // Arrange
            var helper     = new TestHelper();
            var controller = helper.CreateController <ProjectController>(Permissions.PropertyView, uri);
            var headers    = helper.GetService <Mock <Microsoft.AspNetCore.Http.IHeaderDictionary> >();

            headers.Setup(m => m["Accept"]).Returns(ContentTypes.CONTENT_TYPE_EXCELX);
            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 Paged <Entity.Project>(projects);

            service.Setup(m => m.Project.GetPage(It.IsAny <Entity.Models.ProjectFilter>())).Returns(page);

            // Act
            var result = controller.ExportProjects();

            // Assert
            var actionResult = Assert.IsType <FileStreamResult>(result);

            Assert.Equal(ContentTypes.CONTENT_TYPE_EXCELX, actionResult.ContentType);
            Assert.NotNull(actionResult.FileDownloadName);
            Assert.True(actionResult.FileStream.Length > 0);
            service.Verify(m => m.Project.GetPage(It.IsAny <Entity.Models.ProjectFilter>()), Times.Once());
        }
Ejemplo n.º 2
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());
        }
Ejemplo n.º 3
0
        public void ExportProjects_Csv_Query_Success()
        {
            // 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 Paged <Entity.Project>(projects);

            service.Setup(m => m.Project.GetPage(It.IsAny <Entity.Models.ProjectFilter>())).Returns(page);

            // Act
            var result = controller.ExportProjects();

            // 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());
        }
Ejemplo n.º 4
0
        public async Task DeleteAgencyAsync()
        {
            // Arrange
            var helper     = new TestHelper();
            var controller = helper.CreateController <AgencyController>(Permissions.AdminAgencies);

            var mapper  = helper.GetService <IMapper>();
            var service = helper.GetService <Mock <IPimsAdminService> >();
            var agency  = EntityHelper.CreateAgency(1, "agency1");

            service.Setup(m => m.Agency.Remove(It.IsAny <Entity.Agency>()));
            var model = mapper.Map <Model.AgencyModel>(agency);

            // Act
            var result = await controller.DeleteAgencyAsync(model);

            // Assert
            var actionResult = Assert.IsType <JsonResult>(result);

            Assert.Null(actionResult.StatusCode);
            var actualResult = Assert.IsType <Model.AgencyModel>(actionResult.Value);

            Assert.Equal(mapper.Map <Model.AgencyModel>(agency), actualResult, new DeepPropertyCompare());
            service.Verify(m => m.Agency.Remove(It.IsAny <Entity.Agency>()), Times.Once());
        }
Ejemplo n.º 5
0
        public void AccessRequestAgency_AccessRequest_Constructor_ArgumentNullException()
        {
            // Arrange
            var agency = EntityHelper.CreateAgency(5);

            // Act
            // Assert
            Assert.Throws <ArgumentNullException>(() => new AccessRequestAgency(null, agency));
        }
Ejemplo n.º 6
0
        public void NotificationQueue_Constructor_02_ArgumentException(string subject, string body, NotificationTemplate template, Type throws)
        {
            // Arrange
            var agency = EntityHelper.CreateAgency(2);

            agency.Email = "*****@*****.**";
            var project = EntityHelper.CreateProject(1, agency);

            // Act
            // Assert
            Assert.Throws(throws, () => new NotificationQueue(template, project, agency, subject, body));
        }
Ejemplo n.º 7
0
        public void AccessRequestAgency_Id_Constructor()
        {
            // Arrange
            var accessRequest = EntityHelper.CreateAccessRequest(5);
            var agency        = EntityHelper.CreateAgency(2);

            // Act
            var accessRequestAgency = new AccessRequestAgency(accessRequest.Id, agency.Id);

            // Assert
            accessRequestAgency.AccessRequestId.Should().Be(accessRequest.Id);
            accessRequestAgency.AgencyId.Should().Be(agency.Id);
        }
        public void Remove_BuildingConstructionType_KeyNotFound()
        {
            // Arrange
            var helper           = new TestHelper();
            var user             = PrincipalHelper.CreateForPermission();
            var agency           = EntityHelper.CreateAgency(1);
            var constructionType = EntityHelper.CreateBuildingConstructionType(100, "Test");

            helper.CreatePimsContext(user, true);

            var service = helper.CreateService <BuildingConstructionTypeService>(user);
            var context = helper.GetService <PimsContext>();

            // Act
            // Assert
            Assert.Throws <KeyNotFoundException>(() =>
                                                 service.Remove(constructionType));
        }
Ejemplo n.º 9
0
        public void NotificationQueue_Constructor_02()
        {
            // Arrange
            var date     = DateTime.UtcNow;
            var template = new NotificationTemplate("template", "subject", "body")
            {
                BodyType = NotificationBodyTypes.Text,
                Priority = NotificationPriorities.Low,
                Encoding = NotificationEncodings.Base64,
                Tag      = "tag"
            };
            var agency = EntityHelper.CreateAgency(2);

            agency.Email = "*****@*****.**";
            var project = EntityHelper.CreateProject(1, agency);

            // Act
            var queue = new NotificationQueue(template, project, agency, "subject", "body");

            // Assert
            queue.Id.Should().Be(0);
            queue.Key.Should().NotBeEmpty();
            queue.TemplateId.Should().Be(template.Id);
            queue.Template.Should().Be(template);
            queue.Subject.Should().Be("subject");
            queue.Body.Should().Be("body");
            queue.BodyType.Should().Be(template.BodyType);
            queue.Priority.Should().Be(template.Priority);
            queue.Encoding.Should().Be(template.Encoding);
            queue.Tag.Should().Be(template.Tag);
            queue.ProjectId.Should().Be(project.Id);
            queue.Project.Should().Be(project);
            queue.ToAgencyId.Should().Be(agency.Id);
            queue.ToAgency.Should().Be(agency);
            queue.To.Should().Be(agency.Email);
            queue.SendOn.Should().BeOnOrAfter(date);
        }
Ejemplo n.º 10
0
        public void GetAgency()
        {
            // Arrange
            var helper     = new TestHelper();
            var controller = helper.CreateController <AgencyController>(Permissions.AdminAgencies);

            var mapper  = helper.GetService <IMapper>();
            var service = helper.GetService <Mock <IPimsAdminService> >();
            var agency  = EntityHelper.CreateAgency(1, "agency1");

            service.Setup(m => m.Agency.Get(It.IsAny <int>())).Returns(agency);

            // Act
            var result = controller.GetAgency(agency.Id);

            // Assert
            var actionResult = Assert.IsType <JsonResult>(result);

            Assert.Null(actionResult.StatusCode);
            var actualResult = Assert.IsType <Model.AgencyModel>(actionResult.Value);

            Assert.Equal(mapper.Map <Model.AgencyModel>(agency), actualResult, new DeepPropertyCompare());
            service.Verify(m => m.Agency.Get(agency.Id), Times.Once());
        }
Ejemplo n.º 11
0
        public void GetAll()
        {
            // Arrange
            var helper     = new TestHelper();
            var controller = helper.CreateController <LookupController>(Permissions.PropertyView);

            var mapper  = helper.GetService <IMapper>();
            var service = helper.GetService <Mock <IPimsService> >();
            var role    = EntityHelper.CreateRole("admin");

            service.Setup(m => m.Lookup.GetRoles()).Returns(new[] { role });

            var agency = EntityHelper.CreateAgency();

            service.Setup(m => m.Lookup.GetAgencies()).Returns(new[] { agency });

            var propertyClassification = EntityHelper.CreatePropertyClassification("class", true);

            service.Setup(m => m.Lookup.GetPropertyClassifications()).Returns(new[] { propertyClassification });

            var province = EntityHelper.CreateProvince("BC", "British Columbia");

            service.Setup(m => m.Lookup.GetProvinces()).Returns(new[] { province });

            var city = EntityHelper.CreateCity("VIC", "Victoria");

            service.Setup(m => m.Lookup.GetCities()).Returns(new[] { city });

            var buildingConstructionType = EntityHelper.CreateBuildingConstructionType("type");

            service.Setup(m => m.Lookup.GetBuildingConstructionTypes()).Returns(new[] { buildingConstructionType });

            var buildingPredominateUse = EntityHelper.CreateBuildingPredominateUse("use");

            service.Setup(m => m.Lookup.GetBuildingPredominateUses()).Returns(new[] { buildingPredominateUse });

            var buildingOccupantType = EntityHelper.CreateBuildingOccupantType("occupant");

            service.Setup(m => m.Lookup.GetBuildingOccupantTypes()).Returns(new[] { buildingOccupantType });

            var tierLevel = EntityHelper.CreateTierLevel("tierlevel");

            service.Setup(m => m.Lookup.GetTierLevels()).Returns(new[] { tierLevel });

            // Act
            var result = controller.GetAll();

            // Assert
            var actionResult = Assert.IsType <JsonResult>(result);
            var actualResult = Assert.IsAssignableFrom <IEnumerable <object> >(actionResult.Value);

            Assert.Equal(mapper.Map <Model.RoleModel>(role), actualResult.First(), new ShallowPropertyCompare());
            Assert.Equal(mapper.Map <Models.CodeModel <int> >(agency), actualResult.Next(1), new ShallowPropertyCompare());
            Assert.Equal(mapper.Map <Models.LookupModel <int> >(propertyClassification), actualResult.Next(2), new ShallowPropertyCompare());
            Assert.Equal(mapper.Map <Models.LookupModel <string> >(province), actualResult.Next(3), new ShallowPropertyCompare());
            Assert.Equal(mapper.Map <Models.CodeModel <int> >(city), actualResult.Next(4), new ShallowPropertyCompare());
            Assert.Equal(mapper.Map <Models.LookupModel <int> >(buildingConstructionType), actualResult.Next(5), new ShallowPropertyCompare());
            Assert.Equal(mapper.Map <Models.LookupModel <int> >(buildingPredominateUse), actualResult.Next(6), new ShallowPropertyCompare());
            Assert.Equal(mapper.Map <Models.LookupModel <int> >(buildingOccupantType), actualResult.Next(7), new ShallowPropertyCompare());
            Assert.Equal(mapper.Map <Models.LookupModel <int> >(tierLevel), actualResult.Next(8), new ShallowPropertyCompare());
        }