Example #1
0
 public void SetUp()
 {
     _riskAssessmentService = new Mock<IGeneralRiskAssessmentService>();
     var riskAssessment = new GeneralRiskAssessmentDto();
     _riskAssessmentService
         .Setup(x => x.GetRiskAssessmentWithHazards(RiskAssessmentId, CompanyId))
         .Returns(riskAssessment);
 }
Example #2
0
        public void Given_a_request_Then_should_retur_correct_model()
        {
            //Given
            var target = GetTarget();
            var riskAssessmentDto = new GeneralRiskAssessmentDto()
                                        {
                                            CompanyId = 1, 
                                            Id = 2, 
                                            Employees = _employees, 
                                            NonEmployees = _nonEmployees,
                                            CreatedOn = DateTime.Today,
                                            Reference = "Some Reference",
                                            Title = "My title",
                                            TaskProcessDescription = "Description",
                                            Location = "Some Location"
                                        };
            RiskAssessmentService
                .Setup(x => x.GetRiskAssessment(riskAssessmentDto.Id, riskAssessmentDto.CompanyId))
                .Returns(riskAssessmentDto);
            
            //When
            var result = target.Index(riskAssessmentDto.Id, riskAssessmentDto.CompanyId) as ViewResult;

            //Then
            var premisesInformationViewModel = (PremisesInformationViewModel)result.Model;
            Assert.That(premisesInformationViewModel.CompanyId, Is.EqualTo(riskAssessmentDto.CompanyId));
            Assert.That(premisesInformationViewModel.RiskAssessmentId, Is.EqualTo(riskAssessmentDto.Id));
            Assert.That(premisesInformationViewModel.CreatedOn, Is.EqualTo(riskAssessmentDto.CreatedOn));
            Assert.That(premisesInformationViewModel.Reference, Is.EqualTo(riskAssessmentDto.Reference));
            Assert.That(premisesInformationViewModel.Title, Is.EqualTo(riskAssessmentDto.Title));
            Assert.That(premisesInformationViewModel.TaskProcessDescription, Is.EqualTo(riskAssessmentDto.TaskProcessDescription));
            Assert.That(premisesInformationViewModel.LocationAreaDepartment, Is.EqualTo(riskAssessmentDto.Location)); 
            Assert.That(premisesInformationViewModel.Employees.Count(), Is.EqualTo(_employees.Count));
            Assert.That(premisesInformationViewModel.NonEmployees.Count(), Is.EqualTo(_nonEmployees.Count));

        }
Example #3
0
        public void When_RiskAssessment_Not_In_Users_Allowed_Sites_Then_Throw_Exception()
        {
            // Given
            const long riskAssessmentId = 1234;

            var riskAssessment = new GeneralRiskAssessmentDto()
            {
                Id = 1,
                RiskAssessmentSite = new SiteStructureElementDto(){Id = 2} 
            };

            _riskAssessmentService
                .Setup(x => x.GetRiskAssessment(riskAssessmentId, 1))
                .Returns(riskAssessment);

            var target = GetTarget();

            // When
            // Then
            Assert.Throws<SitePermissionsInvalidForUserException>(() => target.Index(riskAssessmentId));

            _riskAssessmentService.Verify(x => x.GetRiskAssessment(It.IsAny<long>(), It.IsAny<long>()));
        }
Example #4
0
        public void When_valid_RiskAssessment_requested_Then_returned_filename_is_RiskAssessment_Sanitised_Title(string input, string output)
        {
            // Given
            var target = GetTarget();
            const string filename = "filename";
            const string mimeType = "mimetype";

            var riskAssessment = new GeneralRiskAssessmentDto()
            {
                Id = 1234,
                Title = input,
                CreatedBy = new AuditedUserDto()
                            {
                                Id = target.CurrentUser.UserId
                            }
            };

            _riskAssessmentService
                .Setup(x => x.GetRiskAssessment(riskAssessment.Id, 1))
                .Returns(riskAssessment);

            _reportExecutionServiceFacade
                .Setup(x => x.GetReport(
                    It.IsAny<SqlReportHelper.ReportType>(),
                    new object[] { riskAssessment.Id },
                    It.IsAny<SqlReportHelper.ReportFormatType>()
                                ))
                .Returns(new DocumentViewModel()
                {
                    FileName = filename,
                    FileStream = new MemoryStream(),
                    MimeType = mimeType
                });

            // When
            var result = target.Index(riskAssessment.Id);

            // Then
            Assert.That(result.FileDownloadName, Is.EqualTo(output));
        }
Example #5
0
        public void When_RiskAssessment_With_No_SiteId_requested_That_Was_Created_By_Another_User_Then_Throw_Exception()
        {
            // Given
            const long riskAssessmentId = 1234;

            var target = GetTarget();

            var riskAssessment = new GeneralRiskAssessmentDto()
            {
                Id = 1,
                RiskAssessmentSite = null,
                Title = "My GRA",
                CreatedBy = new AuditedUserDto()
                {
                    Id = Guid.NewGuid()
                }
            };

            _riskAssessmentService
                .Setup(x => x.GetRiskAssessment(riskAssessmentId, 1))
                .Returns(riskAssessment);


            // When
            // Then
            Assert.Throws<SitePermissionsInvalidForUserException>(() => target.Index(riskAssessmentId));
        }
Example #6
0
        public void When_RiskAssessment_With_No_SiteId_requested_That_The_User_Created_Then_return_FileResult()
        {
            // Given
            const long riskAssessmentId = 1234;

            var target = GetTarget();

            var riskAssessment = new GeneralRiskAssessmentDto()
            {
                Id = 1,
                RiskAssessmentSite = null,
                Title = "My GRA",
                CreatedBy = new AuditedUserDto()
                {
                    Id = target.CurrentUser.UserId
                }
            };

            _riskAssessmentService
                .Setup(x => x.GetRiskAssessment(riskAssessmentId, 1))
                .Returns(riskAssessment);


            // When
            var result = target.Index(riskAssessmentId);

            // Then
            Assert.IsInstanceOf<FileResult>(result);
        }
        public RiskAssessmentDto MapWithSiteAndRiskAssessor(RiskAssessment entity)
        {
            RiskAssessmentDto dto = null;

            if (entity.Self as MultiHazardRiskAssessment != null) 
            {
                if(entity.Self as PersonalRiskAssessment != null)
                {
                    dto = new PersonalRiskAssessmentDto();
                    var personalRiskAssessment = entity.Self as PersonalRiskAssessment;
                    var personalRiskAssessmentDto = dto as PersonalRiskAssessmentDto;
                    personalRiskAssessmentDto.Sensitive = personalRiskAssessment.Sensitive;
                    personalRiskAssessmentDto.ChecklistGeneratorMessage = personalRiskAssessment.ChecklistGeneratorMessage;
                    personalRiskAssessmentDto.PersonalRiskAssessementEmployeeChecklistStatus = personalRiskAssessment.PersonalRiskAssessementEmployeeChecklistStatus;
                    personalRiskAssessmentDto.SendCompletedChecklistNotificationEmail = personalRiskAssessment.SendCompletedChecklistNotificationEmail;
                    personalRiskAssessmentDto.CompletionDueDateForChecklists = personalRiskAssessment.CompletionDueDateForChecklists;
                    personalRiskAssessmentDto.CompletionNotificationEmailAddress = personalRiskAssessment.CompletionNotificationEmailAddress;
                    personalRiskAssessmentDto.Hazards = personalRiskAssessment.Hazards.ToList().Select(h => HazardDtoMapper.Map(h)).ToList();
                }

                if(entity.Self as GeneralRiskAssessment != null)
                {
                    dto = new GeneralRiskAssessmentDto();
                }

                var multiHazardRiskAssessmentDto = dto as MultiHazardRiskAssessmentDto;
                var multiHazardRiskAssessment = entity.Self as MultiHazardRiskAssessment;
                if (multiHazardRiskAssessment != null)
                {
                    multiHazardRiskAssessmentDto.Location = multiHazardRiskAssessment.Location;
                    multiHazardRiskAssessmentDto.TaskProcessDescription = multiHazardRiskAssessment.TaskProcessDescription;
                    multiHazardRiskAssessmentDto.CompletionDueDate = multiHazardRiskAssessment.CompletionDueDate;
                }
            }
            else if(entity.Self as FireRiskAssessment != null)
            {
                dto = new FireRiskAssessmentDto();
                var fireRiskAssessment = entity.Self as FireRiskAssessment;
                var fireRiskAssessmentDto = dto as FireRiskAssessmentDto;
                fireRiskAssessmentDto.PersonAppointed = fireRiskAssessment.PersonAppointed;
                fireRiskAssessmentDto.PremisesProvidesSleepingAccommodation = fireRiskAssessment.PremisesProvidesSleepingAccommodation;
                fireRiskAssessmentDto.PremisesProvidesSleepingAccommodationConfirmed = fireRiskAssessment.PremisesProvidesSleepingAccommodationConfirmed;
                fireRiskAssessmentDto.Location = fireRiskAssessment.Location;
                fireRiskAssessmentDto.BuildingUse = fireRiskAssessment.BuildingUse;
                fireRiskAssessmentDto.NumberOfFloors = fireRiskAssessment.NumberOfFloors;
                fireRiskAssessmentDto.NumberOfPeople = fireRiskAssessment.NumberOfPeople;
                fireRiskAssessmentDto.ElectricityEmergencyShutOff = fireRiskAssessment.ElectricityEmergencyShutOff;
                fireRiskAssessmentDto.WaterEmergencyShutOff = fireRiskAssessment.WaterEmergencyShutOff;
                fireRiskAssessmentDto.GasEmergencyShutOff = fireRiskAssessment.GasEmergencyShutOff;
                fireRiskAssessmentDto.OtherEmergencyShutOff = fireRiskAssessment.OtherEmergencyShutOff;
                fireRiskAssessmentDto.CompletionDueDate = fireRiskAssessment.CompletionDueDate;
                
            }
            else
            {
                dto = new RiskAssessmentDto();
            }

            dto.Id = entity.Id;
            dto.AssessmentDate = entity.AssessmentDate;
            dto.CreatedOn = entity.CreatedOn;
            dto.CompanyId = entity.CompanyId;
            dto.Reference = entity.Reference;
            dto.Status = entity.Status;
            dto.Title = entity.Title;
            dto.Deleted = entity.Deleted;
            dto.CreatedBy = entity.CreatedBy != null ?  new AuditedUserDtoMapper().Map(entity.CreatedBy) : null;

            dto.RiskAssessmentSite = entity.RiskAssessmentSite != null
                ? new SiteStructureElementDtoMapper().Map(entity.RiskAssessmentSite)
                : null;

            dto.RiskAssessor = entity.RiskAssessor != null
                                   ? new RiskAssessorDtoMapper().MapWithEmployee(entity.RiskAssessor)
                                   : null;

            dto.NextReviewDate = entity.NextReviewDate;
            //Required for the API
            dto.Reviews = entity.Reviews != null ? entity.Reviews.Select(review => new RiskAssessmentReviewDto()
                                                                                       {
                                                                                           Comments = review.Comments
                                                                                           ,CompletedBy = review.CompletedBy != null ? new EmployeeDtoMapper().Map(review.CompletedBy) : null
                                                                                           ,CompletedDate = review.CompletedDate
                                                                                           ,CompletionDueDate = review.CompletionDueDate,
                                                                                           Id = review.Id,
                                                                                           IsReviewOutstanding = review.IsReviewOutstanding
                                                                                           ,ReviewAssignedTo = review.ReviewAssignedTo != null ? new EmployeeDtoMapper().Map(review.ReviewAssignedTo) : null
                                                                                       }).ToList() : new List<RiskAssessmentReviewDto>();
            return dto;
        }