public void Given_employee_is_risk_assesor_then_return_task()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Daily };
            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee };

            var riskAssessement = new HazardousSubstanceRiskAssessment() { RiskAssessor = riskAssessor };
            var riskAssessementReview = new RiskAssessmentReview() { RiskAssessment = riskAssessement, };
            riskAssessementReview.RiskAssessmentReviewTask = new RiskAssessmentReviewTask()
            {
                RiskAssessmentReview = riskAssessementReview,
                TaskCompletedDate = DateTime.Now.AddDays(-5),
                TaskStatus = TaskStatus.Completed
            };

            riskAssessement.Reviews.Add(riskAssessementReview);
            _riskAssessments.Add(riskAssessement);

            var target = new GetCompletedRiskAssessmentReviewTasksForEmployeeQuery( _queryableWrapper.Object );

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(1));

        }
Example #2
0
        public void When_Update_Then_new_values_set()
        {
            var site = new Site();
            var hasAccessToAllSites = true;
            var doNotSendReviewDueNotification = true;
            var doNotSendTaskOverdueNotifications = true;
            var doNotSendTaskCompletedNotifications = true;
            var user = new UserForAuditing();

            // Given
            var riskAssessor = new RiskAssessor();

            // When
            riskAssessor.Update(
                site,
                hasAccessToAllSites,
                doNotSendReviewDueNotification,
                doNotSendTaskOverdueNotifications,
                doNotSendTaskCompletedNotifications,
                user
                );

            // Then
            Assert.That(riskAssessor.Site == site);
            Assert.That(riskAssessor.HasAccessToAllSites == hasAccessToAllSites);
            Assert.That(riskAssessor.DoNotSendReviewDueNotification == doNotSendReviewDueNotification);
            Assert.That(riskAssessor.DoNotSendTaskOverdueNotifications == doNotSendTaskOverdueNotifications);
            Assert.That(riskAssessor.DoNotSendTaskCompletedNotifications == doNotSendTaskCompletedNotifications);
            Assert.That(riskAssessor.LastModifiedBy == user);
            Assert.That(riskAssessor.LastModifiedOn.Value.ToShortDateString() == DateTime.Today.ToShortDateString());
        }
Example #3
0
        private static RiskAssessor NewRiskAssessor()
        {
            Mock <GlobalInputDetection> mockGlobalInputDetection = new Mock <GlobalInputDetection>();
            RiskAssessor riskAssessor = new RiskAssessor(mockGlobalInputDetection.Object);

            return(riskAssessor);
        }
Example #4
0
        public void Given_all_required_felds_are_available_When_UpdatePremisesInformation_Then_Values_Updated()
        {
            //Given
            const string title = "RA Test";
            const string personAppointed = "Person Appointed";
            const string reference = "RA 001";
            const long clientId = 100;
            var user = new UserForAuditing();
            var riskAssessor = new RiskAssessor();
            var dateOfAssessment = DateTime.Now;
            var site = new Site();
            var result = FireRiskAssessment.Create(title, reference, clientId, new Checklist(), user);
            
            //When
            result.UpdateSummary("new title", "new ref", personAppointed, dateOfAssessment, riskAssessor, site, user);

            //Then
            Assert.That(result.Title, Is.EqualTo("new title"));
            Assert.That(result.PersonAppointed, Is.EqualTo(personAppointed));
            Assert.That(result.Reference, Is.EqualTo("new ref"));
            Assert.That(result.AssessmentDate, Is.EqualTo(dateOfAssessment));
            Assert.That(result.RiskAssessor, Is.EqualTo(riskAssessor));
            Assert.That(result.RiskAssessmentSite, Is.EqualTo(site));
            Assert.That(result.LastModifiedBy, Is.EqualTo(user));
            Assert.That(result.LastModifiedOn.Value.Date, Is.EqualTo(DateTime.Today));
        }
        public static PersonalRiskAssessment Create(
            string title,
            string reference,
            long clientId,
            UserForAuditing currentUser,
            string location,
            string taskProcessDescription,
            Site site,
            DateTime? assessmentDate,
            RiskAssessor riskAssessor,
            bool IsSensitive
            )
        {
            var riskAssessment = new PersonalRiskAssessment
                                     {
                                         Title = title,
                                         Reference = reference,
                                         AssessmentDate = assessmentDate,
                                         RiskAssessmentSite = site,
                                         RiskAssessor = riskAssessor,
                                         Location = location,
                                         TaskProcessDescription = taskProcessDescription,
                                         CompanyId = clientId,
                                         CreatedBy = currentUser,
                                         CreatedOn = DateTime.Now,
                                         Status = RiskAssessmentStatus.Draft,
                                         Sensitive = IsSensitive
                                     };

            return riskAssessment;
        }
        public void Given_employee_is_risk_assessor_then_return_task()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Daily};
            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee }; 
            var riskAssessement = new HazardousSubstanceRiskAssessment() { RiskAssessor = riskAssessor, Status = RiskAssessmentStatus.Live};
            var hazardousSubstanceRiskAssessmentFurtherControlMeasureTask =
                new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask() 
                {   
                    HazardousSubstanceRiskAssessment = riskAssessement, 
                    TaskCompletedDate = DateTime.Now,
                    TaskStatus = TaskStatus.Completed
                };

            riskAssessement.FurtherControlMeasureTasks.Add(hazardousSubstanceRiskAssessmentFurtherControlMeasureTask);

            _hsRiskAssessments.Add(riskAssessement);

            var target = new GetCompletedHazardousSubstanceRiskAssessmentFurtherControlMeasureTasksForEmployeeQuery(null);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(1));
        }
        public virtual void UpdateSummary(string title, string reference, DateTime? assessmentDate, RiskAssessor riskAssessor, Site site, UserForAuditing currentUser)
        {
            if (IsDifferentRiskAssessor(riskAssessor))
            {
                if (AreThereAnyFurtherControlMeasureTasks())
                {
                    Hazards
                        .Where(h => h.FurtherControlMeasureTasks != null)
                        .SelectMany(h => h.FurtherControlMeasureTasks)
                        .ToList()
                        .ForEach(task =>
                                     {
                                         task.SendTaskCompletedNotification = riskAssessor == null ? true : !riskAssessor.DoNotSendTaskCompletedNotifications;
                                         task.SendTaskOverdueNotification = riskAssessor == null ? true : !riskAssessor.DoNotSendTaskOverdueNotifications;
                                         task.SetLastModifiedDetails(currentUser);
                                     });
                }
            }

            Title = title;
            Reference = reference;
            RiskAssessor = riskAssessor;
            AssessmentDate = assessmentDate;
            RiskAssessmentSite = site;
            SetLastModifiedDetails(currentUser);

        }
        public static GeneralRiskAssessment Create(
            string title,
            string reference,
            long clientId,
            UserForAuditing currentUser,
            string location,
            string taskProcessDescription,
            Site site,
            DateTime? assessmentDate,
            RiskAssessor riskAssessor
           )
        {
            var riskAssessment = new GeneralRiskAssessment
                                     {
                                         Title = title,
                                         Reference = reference,
                                         AssessmentDate = assessmentDate,
                                         RiskAssessmentSite = site,
                                         RiskAssessor = riskAssessor,
                                         Location = location,
                                         TaskProcessDescription = taskProcessDescription,
                                         CompanyId = clientId,
                                         CreatedBy = currentUser,
                                         CreatedOn = DateTime.Now,
                                         Status = RiskAssessmentStatus.Draft,
                                         PeopleAtRisk = new List<RiskAssessmentPeopleAtRisk>(),
                                     };

            return riskAssessment;
        }
Example #9
0
        public void FakeCMDScanTest()
        {
            RiskAssessor riskAssessor     = NewRiskAssessor();
            bool         reachedThreshold = false;
            int          riskScore        = 0;

            reachedThreshold = riskAssessor.addRemoteConnectionRisk();
            riskScore        = riskAssessor.calculateRiskScore();
            Assert.IsFalse(reachedThreshold);
            Assert.AreEqual(riskScore, 50);


            reachedThreshold = riskAssessor.addAndAssessRisks(RiskAssessor.EventRisk.COMMAND_PROMPT);
            riskScore        = riskAssessor.calculateRiskScore();
            Assert.IsFalse(reachedThreshold);
            Assert.AreEqual(riskScore, 70);

            reachedThreshold = riskAssessor.addAndAssessRisks(RiskAssessor.EventRisk.CMD_SCAN);
            riskScore        = riskAssessor.calculateRiskScore();
            Assert.IsFalse(reachedThreshold);
            Assert.AreEqual(riskScore, 90);

            reachedThreshold = riskAssessor.addAndAssessRisks(RiskAssessor.EventRisk.SUSPICIOUS_KEYBOARD_INPUT);
            riskScore        = riskAssessor.calculateRiskScore();
            Assert.IsTrue(reachedThreshold);
            Assert.AreEqual(riskScore, 130);
        }
Example #10
0
        public void AddRemoteConnectionRiskTest()
        {
            RiskAssessor riskAssessor = NewRiskAssessor();

            riskAssessor.addRemoteConnectionRisk();
            int riskScore = riskAssessor.calculateRiskScore();

            Assert.AreEqual(riskScore, 50);
        }
Example #11
0
        public void AddCommandPromptRiskTest()
        {
            RiskAssessor riskAssessor = NewRiskAssessor();

            riskAssessor.AddRisk(RiskAssessor.EventRisk.COMMAND_PROMPT);
            int riskScore = riskAssessor.calculateRiskScore();

            Assert.AreEqual(riskScore, 20);
        }
Example #12
0
        public void AddCommandScanRiskTest()
        {
            RiskAssessor riskAssessor = NewRiskAssessor();

            riskAssessor.AddRisk(RiskAssessor.EventRisk.CMD_SCAN);
            int riskScore = riskAssessor.calculateRiskScore();

            Assert.AreEqual(riskScore, 20);
        }
Example #13
0
        public void AddSuspiciousInputRiskTest()
        {
            RiskAssessor riskAssessor = NewRiskAssessor();

            riskAssessor.AddRisk(RiskAssessor.EventRisk.SUSPICIOUS_KEYBOARD_INPUT);
            int riskScore = riskAssessor.calculateRiskScore();

            Assert.AreEqual(riskScore, 40);
        }
Example #14
0
        public void AddEventViewerRiskTest()
        {
            RiskAssessor riskAssessor = NewRiskAssessor();

            riskAssessor.AddRisk(RiskAssessor.EventRisk.EVENT_VIEWER);
            int riskScore = riskAssessor.calculateRiskScore();

            Assert.AreEqual(riskScore, 30);
        }
Example #15
0
        public void AddRunWindowRiskTest()
        {
            RiskAssessor riskAssessor = NewRiskAssessor();

            riskAssessor.AddRisk(RiskAssessor.EventRisk.RUN_WINDOW);
            int riskScore = riskAssessor.calculateRiskScore();

            Assert.AreEqual(riskScore, 20);
        }
Example #16
0
        public void AddIExplorerRiskTest()
        {
            Mock <GlobalInputDetection> mockGlobalInputDetection = new Mock <GlobalInputDetection>();
            RiskAssessor riskAssessor = new RiskAssessor(mockGlobalInputDetection.Object);

            riskAssessor.AddRisk(RiskAssessor.EventRisk.RUN_IEXPLORER);
            int riskScore = riskAssessor.calculateRiskScore();

            Assert.AreEqual(riskScore, 20);
        }
        public void SetUp()
        {
            _employeeRepository = new Mock<IEmployeeRepository>();
            _log = new Mock<IPeninsulaLog>();
            _riskAssessor = new RiskAssessor() {Deleted = false};
            _employee = new Employee();

            _employeeRepository.Setup(x => x.GetByIdAndCompanyId(It.IsAny<Guid>(), It.IsAny<long>()))
                .Returns(() => _employee);

        }
Example #18
0
        public void GlobalHooks_SuspiciousInputTest()
        {
            Mock <GlobalInputDetection> mockGlobalInputDetection = new Mock <GlobalInputDetection>();
            Mock <GlobalInputDetection.SuspiciousInputArgs> mockSuspiciousInputArgs = new Mock <GlobalInputDetection.SuspiciousInputArgs>();
            RiskAssessor riskAssessor = new RiskAssessor(mockGlobalInputDetection.Object);

            SetupAndAssertSuspiciousInput(mockSuspiciousInputArgs, riskAssessor, "dir/s", RiskAssessor.EventRisk.CMD_SCAN);
            SetupAndAssertSuspiciousInput(mockSuspiciousInputArgs, riskAssessor, "tree", RiskAssessor.EventRisk.CMD_SCAN);
            SetupAndAssertSuspiciousInput(mockSuspiciousInputArgs, riskAssessor, "iexplorer", RiskAssessor.EventRisk.RUN_IEXPLORER);
            SetupAndAssertSuspiciousInput(mockSuspiciousInputArgs, riskAssessor, "virus", RiskAssessor.EventRisk.SUSPICIOUS_KEYBOARD_INPUT);
        }
Example #19
0
        public MainWindow()
        {
            nIcon.Icon = new Icon(@"Resources\SB.ico");
            InitializeComponent();

            RunningProcessDetection.InitializeProcEventWatcher();

            globalHooks  = new GlobalInputDetection();
            riskAssessor = new RiskAssessor(globalHooks);
            riskAssessor.RiskThresholdReached += RiskAssessor_RiskThresholdReached;

            globalHooks.RegisterHooks();

            CheckRDPSession();
            Automation.AddAutomationFocusChangedEventHandler(RunningProcessDetection.OnFocusChangedHandler);
        }
        public RiskAssessorDto Map(RiskAssessor entity)
        {
            if (entity == null) return null;

            var dto = new RiskAssessorDto
                          {
                              Id = entity.Id,
                              HasAccessToAllSites = entity.HasAccessToAllSites,
                              DoNotSendTaskOverdueNotifications = entity.DoNotSendTaskOverdueNotifications,
                              DoNotSendTaskCompletedNotifications = entity.DoNotSendTaskCompletedNotifications,
                              DoNotSendReviewDueNotification = entity.DoNotSendReviewDueNotification,
                              FormattedName = entity.FormattedName,
                              Site = entity.Site != null ? new SiteStructureElementDto(){Id = entity.Site.Id, Name = entity.Site.Name} : null
                          };

            return dto;
        }
        public void Given_employee_is_risk_assessor_and_notification_frequency_is_set_to_weekly_then_return_tasks_since_previous_week()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Weekly, NotificationFrequecy = (int) System.DayOfWeek.Wednesday};
            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee };
            var riskAssessement = new HazardousSubstanceRiskAssessment() { RiskAssessor = riskAssessor, Status = RiskAssessmentStatus.Live };
            
            riskAssessement.FurtherControlMeasureTasks.Add(new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
                {
                    HazardousSubstanceRiskAssessment = riskAssessement,
                    TaskCompletedDate = DateTime.Now,
                    TaskStatus = TaskStatus.Completed,
                    Title = "one"
                });

            riskAssessement.FurtherControlMeasureTasks.Add(new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
            {
                HazardousSubstanceRiskAssessment = riskAssessement,
                TaskCompletedDate = DateTime.Now.AddDays(-10),
                TaskStatus = TaskStatus.Completed,
                Title = "two"
            });

            riskAssessement.FurtherControlMeasureTasks.Add(new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
            {
                HazardousSubstanceRiskAssessment = riskAssessement,
                TaskCompletedDate = DateTime.Now.AddDays(-5),
                TaskStatus = TaskStatus.Completed,
                Title = "three"
            });

            _hsRiskAssessments.Add(riskAssessement);

            var target = new GetCompletedHazardousSubstanceRiskAssessmentFurtherControlMeasureTasksForEmployeeQuery(null);

            //WHEN
            var result = target.Execute(employee.Id,null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(2));
            Assert.That(result[0].Title, Is.EqualTo("one"));
            Assert.That(result[1].Title, Is.EqualTo("three"));
        }
        public void SetUp()
        {
            _clientId = 3423L;
            _currentUser = new UserForAuditing { Id = Guid.NewGuid() };
            _location = "Manchester";
            _taskProcessDescription = "Process";
            _site = new Site { Id = 256L };
            _assessmentDate = new DateTime(2051, 10, 1);
            _riskAssessor = new RiskAssessor { Id = 74747L };

            _hazardTypes = new List<HazardType>
                               {
                                   new HazardType {Id = 25L},
                                   new HazardType {Id = 37L}
                               };

            _generalRiskAssessment = GeneralRiskAssessment.Create(
                "General Risk Assessment 2", "GRA02", _clientId, _currentUser, _location, _taskProcessDescription, _site,
                _assessmentDate, _riskAssessor);
        }
        public void Given_employee_is_risk_assesor_then_return_completed_task()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Daily};
            
            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee };
            var furthcontrolmersuretasks = new FireRiskAssessmentFurtherControlMeasureTask() { TaskStatus = TaskStatus.Completed, TaskCompletedDate = DateTime.Now.AddDays(-1)};
            
            var significantFinding = new SignificantFinding(){};
            significantFinding.FurtherControlMeasureTasks.Add(furthcontrolmersuretasks);
            furthcontrolmersuretasks.SignificantFinding = significantFinding;


            var riskAssessement = FireRiskAssessment.Create("this is the title", "the ref", 1312, null, new UserForAuditing { Id = Guid.NewGuid() });
            riskAssessement.FireRiskAssessmentChecklists[0].FireRiskAssessment.RiskAssessor = riskAssessor;
            
            var user = new UserForAuditing();
            var fireRiskAssessmentChecklist = riskAssessement.FireRiskAssessmentChecklists[0];
            var question = new Question();
            
            var fireAnswer = FireAnswer.Create(fireRiskAssessmentChecklist, question, YesNoNotApplicableEnum.No, "Additional Info", user);
            fireAnswer.SignificantFinding = significantFinding;
            fireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor = riskAssessor;

            significantFinding.FireAnswer = fireAnswer;
          
            riskAssessement.FireRiskAssessmentChecklists[0].Answers = new List<FireAnswer>() {fireAnswer};

            _fireRiskAssessments.Add(riskAssessement);

            var target =
                new GetCompletedFireRiskAssessmentFurtherControlMeasureTasksForEmployeeQuery(null);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(1));

        }
        public void Given_employee_is_risk_assesor_then_return_task()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Daily };
            var riskAssessor = new RiskAssessor() {Id = 5596870, Employee = employee};
            var riskAssessement = new GeneralRiskAssessment(){RiskAssessor = riskAssessor};
            var hazard = MultiHazardRiskAssessmentHazard.Create(riskAssessement, new Hazard(), null);
            hazard.AddFurtherActionTask(new MultiHazardRiskAssessmentFurtherControlMeasureTask()
            {
                TaskAssignedTo = new Employee(){Id=Guid.NewGuid()}, 
                TaskCompletionDueDate = DateTime.Now.AddDays(-5)
            }, null);
            riskAssessement.Hazards.Add(hazard);

            _gras.Add(riskAssessement);
            var target = new GetOverdueMultiHazardRiskAssessmentTasksForEmployeeQuery<GeneralRiskAssessment>(_queryableWrapper.Object);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(1));
        }
 private static Mock<Task> CreateOverDueTask(Employee taskAssignedTo, RiskAssessor riskAssessor)
 {
     var overDueTask = new Mock<Task>();
     overDueTask
         .Setup(x => x.Id)
         .Returns(10);
     overDueTask
         .Setup(x => x.Reference)
         .Returns("Test Reference");
     overDueTask
        .Setup(x => x.SendTaskOverdueNotification)
        .Returns(true);
     overDueTask
         .Setup(x => x.Title)
         .Returns("Test Title");
     overDueTask
         .Setup(x => x.Description)
         .Returns("Test Description");
     overDueTask
         .Setup(x => x.RiskAssessment)
         .Returns(new GeneralRiskAssessment()
                      {
                          RiskAssessor = riskAssessor
                      });
     overDueTask
         .Setup(x => x.TaskAssignedTo)
         .Returns(taskAssignedTo);
     overDueTask
         .Setup(x => x.TaskCompletionDueDate)
         .Returns(DateTime.Now);
     return overDueTask;
 }
 public RiskAssessorDto MapWithEmployeeAndSite(RiskAssessor entity)
 {
     var dto = MapWithEmployee(entity);
     dto.Site = entity.Site != null ? new SiteStructureElementDtoMapper().Map(entity.Site) : null;
     return dto;
 }
        public void Given_employee_is_risk_assessor_and_notification_frequency_is_set_to_weekly_then_return_tasks_since_previous_week()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Weekly, NotificationFrequecy = (int)System.DayOfWeek.Wednesday };

            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee };
            
            var furthcontrolmersuretasks1 = new FireRiskAssessmentFurtherControlMeasureTask()
            {
                TaskStatus = TaskStatus.Completed,
                TaskCompletedDate = DateTime.Now,
                Title = "one"
            };

            var furthcontrolmersuretasks2 = new FireRiskAssessmentFurtherControlMeasureTask()
            {
                TaskStatus = TaskStatus.Completed,
                TaskCompletedDate = DateTime.Now.AddDays(-5),
                Title = "two"
            };

            var furthcontrolmersuretasks3 = new FireRiskAssessmentFurtherControlMeasureTask()
            {
                TaskStatus = TaskStatus.Completed,
                TaskCompletedDate = DateTime.Now.AddDays(-10),
                Title = "three"
            };

            var significantFinding = new SignificantFinding() { };

            significantFinding.FurtherControlMeasureTasks.Add(furthcontrolmersuretasks1);
            significantFinding.FurtherControlMeasureTasks.Add(furthcontrolmersuretasks2);
            significantFinding.FurtherControlMeasureTasks.Add(furthcontrolmersuretasks3);

            furthcontrolmersuretasks1.SignificantFinding = significantFinding;
            furthcontrolmersuretasks2.SignificantFinding = significantFinding;
            furthcontrolmersuretasks3.SignificantFinding = significantFinding;


            var riskAssessement = FireRiskAssessment.Create("this is the title", "the ref", 1312, null, new UserForAuditing { Id = Guid.NewGuid() });
            riskAssessement.FireRiskAssessmentChecklists[0].FireRiskAssessment.RiskAssessor = riskAssessor;

            var user = new UserForAuditing();
            var fireRiskAssessmentChecklist = riskAssessement.FireRiskAssessmentChecklists[0];
            var question = new Question();

            var fireAnswer = FireAnswer.Create(fireRiskAssessmentChecklist, question, YesNoNotApplicableEnum.No, "Additional Info", user);
            fireAnswer.SignificantFinding = significantFinding;
            fireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor = riskAssessor;

            significantFinding.FireAnswer = fireAnswer;

            riskAssessement.FireRiskAssessmentChecklists[0].Answers = new List<FireAnswer>() { fireAnswer };

            _fireRiskAssessments.Add(riskAssessement);

            var target =
                new GetCompletedFireRiskAssessmentFurtherControlMeasureTasksForEmployeeQuery(
                    null);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(2));
            Assert.That(result[0].Title, Is.EqualTo("one"));
            Assert.That(result[1].Title, Is.EqualTo("two"));
        }
 private static bool CanSendTaskOverdueRiskAssessorNotification(Task x, RiskAssessor riskAssessor)
 {
     return x.SendTaskOverdueNotification.HasValue &&
                 x.SendTaskOverdueNotification == true &&
                     riskAssessor.DoNotSendTaskOverdueNotifications == false;
 }
        public void Given_employee_is_risk_assessor_and_notification_frequency_is_set_to_monthly_on_26th_then_return_tasks_since_26th_of_previous_month()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Monthly, NotificationFrequecy = 26 };
            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee };
            var riskAssessement = new GeneralRiskAssessment() { RiskAssessor = riskAssessor };
            var hazard = MultiHazardRiskAssessmentHazard.Create(riskAssessement, new Hazard(), null);

            hazard.AddFurtherActionTask(new MultiHazardRiskAssessmentFurtherControlMeasureTask()
            {
                Id = 111,
                TaskAssignedTo = new Employee() { Id = Guid.NewGuid() },
                TaskCompletionDueDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 27), //27th of last month
            }, null);

            hazard.AddFurtherActionTask(new MultiHazardRiskAssessmentFurtherControlMeasureTask()
            {
                Id = 111,
                TaskCompletionDueDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 28), //28th of last month
            }, null);

            hazard.AddFurtherActionTask(new MultiHazardRiskAssessmentFurtherControlMeasureTask()
            {
                Id = 111,
                TaskCompletionDueDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 23), //23th of last month
            }, null);

            riskAssessement.Hazards.Add(hazard);

            _gras.Add(riskAssessement);

            var target = new GetOverdueMultiHazardRiskAssessmentTasksForEmployeeQuery<GeneralRiskAssessment>(_queryableWrapper.Object);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(2));
        }
 private static bool CanSendEmailToRiskAssessor(RiskAssessor riskAssessor)
 {
     return riskAssessor != null
             && !riskAssessor.DoNotSendReviewDueNotification
             && riskAssessor.Employee != null
             &&  riskAssessor.Employee.HasEmail;
 }
        public void Given_employee_is_risk_assessor_and_notification_frequency_is_set_to_monthly_on_26th_then_return_tasks_since_26th_of_previous_month()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Monthly, NotificationFrequecy = 26 };
            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee };
            var riskAssessement = new HazardousSubstanceRiskAssessment() { RiskAssessor = riskAssessor, Status = RiskAssessmentStatus.Live };

            riskAssessement.FurtherControlMeasureTasks.Add(new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
            {
                HazardousSubstanceRiskAssessment = riskAssessement,
                TaskCompletedDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month , 27), //27th of last month
                TaskStatus = TaskStatus.Completed,
                Id = 111,
            });

            riskAssessement.FurtherControlMeasureTasks.Add(new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
            {
                HazardousSubstanceRiskAssessment = riskAssessement,
                TaskCompletedDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 28), //28th of last month,
                TaskStatus = TaskStatus.Completed,
                Id=222,
            });

            riskAssessement.FurtherControlMeasureTasks.Add(new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
            {
                HazardousSubstanceRiskAssessment = riskAssessement,
                TaskCompletedDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 23), //23th of last month,
                TaskStatus = TaskStatus.Completed,
                Id = 333
            });

            _hsRiskAssessments.Add(riskAssessement);

            var target = new GetCompletedHazardousSubstanceRiskAssessmentFurtherControlMeasureTasksForEmployeeQuery(null);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(2));
            Assert.That(result[0].Id, Is.EqualTo(111));
            Assert.That(result[1].Id, Is.EqualTo(222));
        }
 public void AddToRiskAssessors(RiskAssessor riskAssessor)
 {
     base.AddObject("RiskAssessors", riskAssessor);
 }
        public void Given_employee_is_risk_assessor_and_notification_frequency_is_set_to_weekly_then_return_tasks_since_previous_week()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Weekly, NotificationFrequecy = (int)System.DayOfWeek.Wednesday };
            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee }; 
            var riskAssessement = new HazardousSubstanceRiskAssessment() { RiskAssessor = riskAssessor };

            riskAssessement.FurtherControlMeasureTasks.Add(
                                    new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
                                    {
                                        Id = 111,
                                        HazardousSubstanceRiskAssessment = riskAssessement,
                                        TaskCompletionDueDate = DateTime.Now.AddDays(-1)
                                    });

            riskAssessement.FurtherControlMeasureTasks.Add(
                                    new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
                                    {
                                        Id= 222,
                                        HazardousSubstanceRiskAssessment = riskAssessement, 
                                        TaskCompletionDueDate = DateTime.Now.AddDays(-5)
                                    });

            riskAssessement.FurtherControlMeasureTasks.Add(
                                    new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
                                    {
                                        Id =333,
                                        HazardousSubstanceRiskAssessment = riskAssessement,
                                        TaskCompletionDueDate = DateTime.Now
                                    });

            riskAssessement.FurtherControlMeasureTasks.Add(
                                    new HazardousSubstanceRiskAssessmentFurtherControlMeasureTask()
                                    {
                                        Id = 444,
                                        HazardousSubstanceRiskAssessment = riskAssessement,
                                        TaskCompletionDueDate = DateTime.Now.AddDays(-10)
                                    });

            _hsRiskAssessments.Add(riskAssessement);

            var target =
                new GetOverdueHazardousSubstanceRiskAssessmentFurtherControlMeasureTasksForEmployeeQuery(_queryableWrapper.Object);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(2));
            Assert.That(result[0].Id, Is.EqualTo(111));
            Assert.That(result[1].Id, Is.EqualTo(222));
        }
 public RiskAssessorDto MapWithEmployee(RiskAssessor entity)
 {
     var dto = Map(entity);
     dto.Employee = new EmployeeDtoMapper().MapWithNationality(entity.Employee);
     return dto;
 }
 public static RiskAssessor CreateRiskAssessor(int ID, global::System.DateTime dateTrained, global::System.DateTime dateRefresherTrainingDue, byte[] rowVersion)
 {
     RiskAssessor riskAssessor = new RiskAssessor();
     riskAssessor.Id = ID;
     riskAssessor.DateTrained = dateTrained;
     riskAssessor.DateRefresherTrainingDue = dateRefresherTrainingDue;
     riskAssessor.RowVersion = rowVersion;
     return riskAssessor;
 }
        public void Given_notification_set_to_weekly_and_task_is_due_in_less_than_a_week_return_task()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Weekly};
            var riskAssessor = new RiskAssessor() { Id = 5596870, Employee = employee };

            var riskAssessement = new HazardousSubstanceRiskAssessment() { RiskAssessor = riskAssessor };
            var riskAssessementReview = new RiskAssessmentReview() { RiskAssessment = riskAssessement, };
            riskAssessementReview.RiskAssessmentReviewTask = new RiskAssessmentReviewTask()
            {
                RiskAssessmentReview = riskAssessementReview,
                TaskCompletionDueDate = DateTime.Now.AddDays(4)
            };

            riskAssessement.Reviews.Add(riskAssessementReview);
            _riskAssessments.Add(riskAssessement);

            var target =
                new GetDueRiskAssessmentReviewTasksForEmployeeQuery(
                    _queryableWrapper.Object);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(1));
        }
 private static bool CanSendEmailToRiskAssessor(RiskAssessor riskAssessor)
 {
     return riskAssessor != null && riskAssessor.Employee != null && riskAssessor.Employee.HasEmail;
 }
Example #38
0
        private static void SetupAndAssertSuspiciousInput(Mock <GlobalInputDetection.SuspiciousInputArgs> mockSuspiciousInputArgs, RiskAssessor riskAssessor, string mockArg, RiskAssessor.EventRisk eventRisk)
        {
            mockSuspiciousInputArgs.SetupGet(c => c.matcherFound).Returns(mockArg);
            riskAssessor.GlobalHooks_SuspiciousInput(null, mockSuspiciousInputArgs.Object);

            bool result = riskAssessor.GetDetectedRisks().Contains(eventRisk);

            Assert.IsTrue(result);
        }
Example #39
0
        public void Setup()
        {
            _siteId = 456L;
            _companyId = 123L;
            _employeeId = Guid.NewGuid();
            _userForAuditingId = Guid.NewGuid();

            _request = new CreateEditRiskAssessorRequest()
            {
                CompanyId = _companyId,
                CreatingUserId = _userForAuditingId,
                DoNotSendReviewDueNotification = true,
                DoNotSendTaskCompletedNotifications = false,
                DoNotSendTaskOverdueNotifications = true,
                EmployeeId = _employeeId,
                SiteId = _siteId,
                HasAccessToAllSites = false
            };

            _riskAssessorRepository = new Mock<IRiskAssessorRepository>();

            _riskAssessorRepository
                .Setup(x => x.GetByIdAndCompanyId(It.IsAny<long>(), It.IsAny<long>()))
                .Returns(new RiskAssessor());

            _riskAssessorRepository
                .Setup(x => x.Save(It.IsAny<RiskAssessor>()));


            _employee = new Employee()
                           {
                               Id = _employeeId,
                               CompanyId = _companyId
                           };

            _employeeRepository = new Mock<IEmployeeRepository>();
            _employeeRepository
                .Setup(x => x.GetByIdAndCompanyId(_employee.Id, _employee.CompanyId))
                .Returns(_employee);

            _site = new Site
                       {
                           Id = _siteId,
                           ClientId = _companyId,
                           Name = "Middle Earth"
                       };

            _siteRepository = new Mock<ISiteRepository>();
            _siteRepository
                .Setup(x => x.GetByIdAndCompanyId(_siteId, _companyId))
                .Returns(_site);

            _siteStructureElementRepository = new Mock<ISiteStructureElementRepository>();
            _siteStructureElementRepository
                .Setup(x => x.GetByIdAndCompanyId(_siteId, _companyId))
                .Returns(_site);

            _userForAuditing = new UserForAuditing
                                  {
                                      Id = _userForAuditingId,
                                      CompanyId = _companyId
                                  };

            _userForAuditingRepository = new Mock<IUserForAuditingRepository>();
            _userForAuditingRepository
                .Setup(x => x.GetByIdAndCompanyId(_userForAuditingId, _companyId))
                .Returns(_userForAuditing);

            _riskAssessor = new RiskAssessor
                            {
                                Id = 1119L
                            };

            _log = new Mock<IPeninsulaLog>();
            _log
                .Setup(x => x.Add(It.IsAny<object>()));
        }
        public void Given_employee_is_risk_assessor_and_notification_frequency_is_set_to_weekly_then_return_tasks_since_previous_week()
        {
            //GIVEN
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Weekly, NotificationFrequecy = (int)DayOfWeek.Wednesday };
            var riskAssessor = new RiskAssessor() {Id = 5596870, Employee = employee};
            var riskAssessement = new GeneralRiskAssessment() { RiskAssessor = riskAssessor };
            var hazard = MultiHazardRiskAssessmentHazard.Create(riskAssessement, new Hazard(), null);

            hazard.AddFurtherActionTask(new MultiHazardRiskAssessmentFurtherControlMeasureTask()
            {
                Id = 111,
                TaskAssignedTo = new Employee() { Id = Guid.NewGuid()},
                TaskCompletionDueDate = DateTime.Now.AddDays(-2)
            }, null);

            hazard.AddFurtherActionTask(new MultiHazardRiskAssessmentFurtherControlMeasureTask()
            {
                Id = 111,
                TaskCompletionDueDate = DateTime.Now.AddDays(-3)
            }, null);

            hazard.AddFurtherActionTask(new MultiHazardRiskAssessmentFurtherControlMeasureTask()
            {
                Id = 111,
                TaskCompletionDueDate = DateTime.Now.AddDays(-12)
            }, null);

            riskAssessement.Hazards.Add(hazard);

            _gras.Add(riskAssessement);

            var target = new GetOverdueMultiHazardRiskAssessmentTasksForEmployeeQuery<GeneralRiskAssessment>(_queryableWrapper.Object);

            //WHEN
            var result = target.Execute(employee.Id, null);

            //THEN
            Assert.That(result.Count, Is.EqualTo(2));
        }
        public virtual void UpdateSummary(string title, string reference, string personAppointed, DateTime? assessmentDate, RiskAssessor riskAssessor, Site site, UserForAuditing user)
        {
            if (IsDifferentRiskAssessor(riskAssessor))
            {
                if (AreThereAnyFurtherControlMeasureTasks())
                {
                    LatestFireRiskAssessmentChecklist.SignificantFindings
                        .Where(finding => finding.FurtherControlMeasureTasks != null)
                        .SelectMany(finding => finding.FurtherControlMeasureTasks)
                        .ToList()
                        .ForEach(task =>
                        {
                            task.SendTaskCompletedNotification = riskAssessor == null ? true : !riskAssessor.DoNotSendTaskCompletedNotifications;
                            task.SendTaskOverdueNotification = riskAssessor == null ? true : !riskAssessor.DoNotSendTaskOverdueNotifications;
                            task.SetLastModifiedDetails(user);
                        });
                }
            }

            Title = title;
            Reference = reference;
            RiskAssessor = riskAssessor;
            AssessmentDate = assessmentDate;
            PersonAppointed = personAppointed;
            RiskAssessmentSite = site;
            SetLastModifiedDetails(user);

        }
 public Boolean IsDifferentRiskAssessor(RiskAssessor riskAssessor)
 {
     return base.IsDifferentRiskAssessor(riskAssessor);
 }