public void Given_employee_is_assignee_then__dont_return__task_due_in_2days()
        {
            //GIVEN

            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Daily };
            var furthcontrolmersuretasks = new FireRiskAssessmentFurtherControlMeasureTask() { TaskAssignedTo = employee, TaskStatus = TaskStatus.Outstanding, TaskCompletionDueDate = DateTime.Now.AddDays(2) };
            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() });

            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;
            significantFinding.FireAnswer = fireAnswer;

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

            _fireRiskAssessments.Add(riskAssessement);

            var target =
                new GetDueFireRiskAssessmentFurtherControlMeasureTasksForEmployeeQuery(
                    _queryableWrapper.Object);

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

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

        }
        public void Given_completed_further_control_measure_task_When_mark_as_delete_Then_task_is_not_deleted()
        {
            // Given
            var user = new UserForAuditing();
            var significantFinding = new SignificantFinding
            {
                FurtherControlMeasureTasks = new List<FireRiskAssessmentFurtherControlMeasureTask>
                                                 {
                                                     new FireRiskAssessmentFurtherControlMeasureTask
                                                         {
                                                             Deleted = false,
                                                             TaskStatus = TaskStatus.Overdue
                                                         }
                                                         ,
                                                    new FireRiskAssessmentFurtherControlMeasureTask
                                                         {
                                                             Deleted = false,
                                                             TaskStatus = TaskStatus.Completed
                                                         }
                                                 }
            };

            // When
            significantFinding.MarkForDelete(user);

            // Then
            Assert.That(significantFinding.FurtherControlMeasureTasks.Count(x => x.Deleted), Is.EqualTo(1));            
        }
Пример #3
0
        public virtual void Update(YesNoNotApplicableEnum? newAnswer, string additionalInfo, UserForAuditing user)
        {
            if (!IsAnswerDifferent(newAnswer, additionalInfo))
                return;

            if (newAnswer != YesNoNotApplicableEnum.No)
            {
                if (SignificantFinding != null)
                {
                    SignificantFinding.MarkForDelete(user);
                }
            }
            else if (newAnswer == YesNoNotApplicableEnum.No)
            {
                if (SignificantFinding == null)
                {
                    SignificantFinding = SignificantFinding.Create(this, user);
                }
                else
                {
                    SignificantFinding.ReinstateFromDelete(user);
                }
            }

            YesNoNotApplicableResponse = newAnswer;
            AdditionalInfo = additionalInfo;
            SetLastModifiedDetails(user);
        }
        public void Given_significant_finding_with_further_control_measure_tasks_When_mark_as_delete_Then_sets_correct_properties()
        {
            // Given
            var user = new UserForAuditing();
            var significantFinding = new SignificantFinding
            {
                FurtherControlMeasureTasks = new List<FireRiskAssessmentFurtherControlMeasureTask>
                                                 {
                                                     new FireRiskAssessmentFurtherControlMeasureTask
                                                         {
                                                             Deleted = false
                                                         }
                                                         ,
                                                         new FireRiskAssessmentFurtherControlMeasureTask
                                                         {
                                                             Deleted = false
                                                         }
                                                 }
            };

            // When
            significantFinding.MarkForDelete(user);

            // Then
            Assert.That(significantFinding.FurtherControlMeasureTasks.Count(x => x.Deleted), Is.EqualTo(2));
        }
 public SignificantFindingDto Map(SignificantFinding significantFinding)
 {
     return new SignificantFindingDto()
     {
         Id = significantFinding.Id,
         FireAnswer = new FireAnswerDtoMapper().Map(significantFinding.FireAnswer)
     };
 }
 public SignificantFindingDto Map(SignificantFinding entity)
 {
     return new SignificantFindingDto()
                {
                    Id = entity.Id,
                    FireAnswer = new FireAnswerDtoMapper().Map(entity.FireAnswer),
                    FurtherActionTasks = GetRiskAssessmentFurtherActionTasks(entity)
                };
 }
Пример #7
0
        public void TestFixtureSetUp()
        {
            _fireAnswer = FireAnswer.Create(null, null, YesNoNotApplicableEnum.No, "some additional info", _currentUser);
            _currentUser = new UserForAuditing
                        {
                            Id = Guid.NewGuid()
                        };

            _significantFinding = SignificantFinding.Create(_fireAnswer, _currentUser);
        }
        public void When_adding_Then_should_set_correct_properties()
        {
            // Given
            var finding = new SignificantFinding();
            var user = new UserForAuditing();

            // When
            var task = new FireRiskAssessmentFurtherControlMeasureTask();
            finding.AddFurtherControlMeasureTask(task, user);

            // Then
            Assert.That(finding.FurtherControlMeasureTasks.Count, Is.EqualTo(1));
            Assert.That(finding.LastModifiedBy, Is.EqualTo(user));
            Assert.That(finding.LastModifiedOn.Value.ToShortDateString(), Is.EqualTo(DateTime.Now.ToShortDateString()));
        }
        public void When_mark_as_delete_Then_sets_correct_peorperties()
        {
            // Given
            var user = new UserForAuditing();
            var significantFinding = new SignificantFinding
            {
                Deleted = false
            };

            // When
            significantFinding.MarkForDelete(user);

            // Then
            Assert.That(significantFinding.Deleted, Is.EqualTo(true));
            Assert.That(significantFinding.LastModifiedBy, Is.EqualTo(user));
            Assert.That(significantFinding.LastModifiedOn.Value.ToShortDateString(), Is.EqualTo(DateTime.Now.ToShortDateString()));
        }
        public void Given_a_further_control_measure_task_is_completed_and_no_review_tasks_then_CompletionDueDate_is_null()
        {
            //given
            var nextFCMCompletionDueDate = new DateTime(2013, 5, 7);
            var riskAss = new FireRiskAssessment();

            var finding = new SignificantFinding();
            finding.AddFurtherControlMeasureTask(new FireRiskAssessmentFurtherControlMeasureTask() { TaskCompletionDueDate = nextFCMCompletionDueDate, TaskStatus = TaskStatus.Completed}, null);

            var findingList = new List<SignificantFinding>();
            findingList.Add((finding));

            var fireChecklist = new Mock<FireRiskAssessmentChecklist>() { CallBase = true };
            fireChecklist.Setup(x => x.SignificantFindings).Returns(findingList);

            riskAss.FireRiskAssessmentChecklists.Add(fireChecklist.Object);

            Assert.IsNull(riskAss.CompletionDueDate);
        }
        public void Given_FireRiskAssessmentFurtherControlMeasureTask_When_GetBasisForClone_Then_new_task_has_original_significant_set()
        {
            // Given
            var user = new UserForAuditing();

            var significantFinding = new SignificantFinding()
            {
                Id = 1234L
            };

            var fraTask = new Mock<FireRiskAssessmentFurtherControlMeasureTask>() { CallBase = true };
            fraTask.Setup(x => x.SignificantFinding).Returns(significantFinding);

            // When
            var result = fraTask.Object.CloneForReoccurring(user, DateTime.Now) as FireRiskAssessmentFurtherControlMeasureTask;

            // Then
            Assert.That(result.SignificantFinding, Is.EqualTo(significantFinding));
        }
        public static FireRiskAssessmentFurtherControlMeasureTask Create(
            string reference, 
            string title, 
            string description, 
            DateTime? taskCompletionDueDate, 
            TaskStatus taskStatus, 
            Employee assignedTo,
            UserForAuditing user, 
            IEnumerable<CreateDocumentParameters> createDocumentParameterObjects, 
            TaskCategory furtherControlMeasureTaskCategory, 
            int taskReoccurringTypeId, 
            DateTime? taskReoccurringEndDate, 
            SignificantFinding significantFinding,
            bool sendTaskNotification,
            bool sendTaskCompletedNotification,
            bool sendTaskOverdueNotification,
            bool sendTaskDueTomorrowNotification,
            Guid taskGuid)
        {
            var furtherControlMeasureTask = new FireRiskAssessmentFurtherControlMeasureTask();
            furtherControlMeasureTask.SignificantFinding = significantFinding;
            furtherControlMeasureTask.SetValuesForCreate(
                reference,
                title,
                description,
                taskCompletionDueDate,
                taskStatus,
                assignedTo,
                user,
                createDocumentParameterObjects,
                furtherControlMeasureTaskCategory,
                taskReoccurringTypeId,
                taskReoccurringEndDate,
                sendTaskNotification,
                sendTaskCompletedNotification,
                sendTaskOverdueNotification,
                sendTaskDueTomorrowNotification,
                taskGuid,
                null);

            return furtherControlMeasureTask;
        }
        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_a_further_control_measure_task_is_attached_to_a_deleted_significant_finding_and_no_review_tasks_then_CompletionDueDate_is_null()
        {
            //given
            var riskAss = new FireRiskAssessment();
            var finding = new SignificantFinding();
            finding.Deleted = true;
            finding.AddFurtherControlMeasureTask(new FireRiskAssessmentFurtherControlMeasureTask() { TaskCompletionDueDate = DateTime.Now}, null);

            var findingList = new List<SignificantFinding> {(finding)};

            var fireChecklist = new Mock<FireRiskAssessmentChecklist>() { CallBase = true };
            fireChecklist.Setup(x => x.SignificantFindings).Returns(findingList);

            riskAss.FireRiskAssessmentChecklists.Add(fireChecklist.Object);

            Assert.IsNull(riskAss.CompletionDueDate);
        }
        public void Given_fire_answer_with_significant_finding_and_has_a_completed_task_When_GetByChecklistIdAndQuestionId_return_correct_result()
        {
            // Given
            var service = GetService();

            var request = new GetFurtherControlMeasureTaskCountsForAnswerRequest
            {
                FireChecklistId = 34L,
                FireQuestionId = 56L
            };

            var fireAnswer = new FireAnswer();
            var significantFinding = new SignificantFinding
            {
                FurtherControlMeasureTasks = new List<FireRiskAssessmentFurtherControlMeasureTask>
                {
                    new FireRiskAssessmentFurtherControlMeasureTask
                    {
                        Id = 12L,
                        TaskCompletedDate = DateTime.Now,
                        TaskCompletedComments = "my comments",
                        TaskStatus = TaskStatus.Completed,
                        Deleted = false
                    }
                }
            };
            fireAnswer.SignificantFinding = significantFinding;

            _fireAnswerRepository
               .Setup(x => x.GetByChecklistIdAndQuestionId(request.FireChecklistId, request.FireQuestionId))
               .Returns(fireAnswer)
               ;

            // When
            var result = service.GetFurtherControlMeasureTaskCountsForAnswer(request);

            // Then
            Assert.That(result.TotalCompletedFurtherControlMeasureTaskCount, Is.EqualTo(1));
        }
        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 IEnumerable<TaskDto> GetRiskAssessmentFurtherActionTasks(SignificantFinding riskAssessmentHazard)
 {
     return new TaskDtoMapper().MapWithAssignedTo(riskAssessmentHazard.FurtherControlMeasureTasks);
 }