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)); }
private static bool IsTaskDue(FireRiskAssessmentFurtherControlMeasureTask task) { return ( (task.TaskAssignedTo.NotificationType == NotificationType.Daily && task.TaskCompletionDueDate.HasValue && QueriesHelper.SimplifyDate(task.TaskCompletionDueDate.Value) == QueriesHelper.SimplifyDate(DateTime.Now.AddDays(1))) || (task.TaskAssignedTo.NotificationType == NotificationType.Weekly && task.TaskCompletionDueDate.HasValue && task.TaskCompletionDueDate.Value < DateTime.Now.AddDays(7)) || (task.TaskAssignedTo.NotificationType == NotificationType.Monthly && task.TaskCompletionDueDate.HasValue && task.TaskCompletionDueDate.Value < DateTime.Now.AddDays(30)) ); }
public FireRiskAssessmentFurtherControlMeasureTaskDto MapWithAssignedToAndSignificantFinding(FireRiskAssessmentFurtherControlMeasureTask entity) { var dto = new TaskDtoMapper().MapWithAssignedTo(entity) as FireRiskAssessmentFurtherControlMeasureTaskDto; dto.SignificantFinding = new SignificantFindingDtoMapper().Map(entity.SignificantFinding); return dto; }
public void Given_a_FireFCMTask_when_DefaultDocumentType_returns_FRA_DocumentType() { //given var fcmTask = new FireRiskAssessmentFurtherControlMeasureTask(); //when var result = fcmTask.DefaultDocumentType; //then Assert.AreEqual(DocumentTypeEnum.FRADocumentType, result); }
private static bool DoesTaskNeedToBeNotified(FireRiskAssessmentFurtherControlMeasureTask task) { var notificationType = task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor.Employee.NotificationType; var notificationFrequency = task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor.Employee.NotificationFrequecy; return (notificationType == NotificationType.Daily) || (notificationType == NotificationType.Weekly && task.TaskCompletedDate.HasValue && task.TaskCompletedDate.Value > DateTime.Now.AddDays(-7)) || (notificationType == NotificationType.Monthly && notificationFrequency.HasValue && task.TaskCompletedDate.HasValue && task.TaskCompletedDate.Value > QueriesHelper.GetPreviousMonthsDate(notificationFrequency.Value)); }
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())); }
private static FireRiskAssessmentFurtherControlMeasureTask CreateFireRiskAssessmentFurtherControlMeasureTask() { var fireRiskAssessment = new FireRiskAssessment(); var fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist(); fireRiskAssessmentChecklist.FireRiskAssessment = fireRiskAssessment; var fireAnswer = new FireAnswer(); fireAnswer.FireRiskAssessmentChecklist = fireRiskAssessmentChecklist; fireRiskAssessmentChecklist.Answers.Add(fireAnswer); var significantFinding = SignificantFinding.Create(fireAnswer, null); var fraTask = new FireRiskAssessmentFurtherControlMeasureTask(); fraTask.SignificantFinding = significantFinding; return fraTask; }
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)); }
private static bool DoesTaskNeedToBeNotified(FireRiskAssessmentFurtherControlMeasureTask task, Guid employeeId) { // Risk Assessor if (task.SignificantFinding != null && task.SignificantFinding.FireAnswer != null && task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist != null && task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment != null && task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor != null && task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor.Employee != null && task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor.Employee.Id == employeeId) { var notificationType = task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor.Employee.NotificationType; var notificationFrequency = task.SignificantFinding.FireAnswer.FireRiskAssessmentChecklist.FireRiskAssessment.RiskAssessor.Employee.NotificationFrequecy; return ( (notificationType == NotificationType.Daily) || (notificationType == NotificationType.Weekly && task.TaskCompletionDueDate.HasValue && QueriesHelper.SimplifyDate(task.TaskCompletionDueDate.Value) >= QueriesHelper.SimplifyDate(DateTime.Now.AddDays(-7))) || (notificationType == NotificationType.Monthly && notificationFrequency.HasValue && task.TaskCompletionDueDate.HasValue && QueriesHelper.SimplifyDate(task.TaskCompletionDueDate.Value) >= QueriesHelper.GetPreviousMonthsDate(notificationFrequency.Value)) ); } else if (task.TaskAssignedTo != null && task.TaskAssignedTo.Id == employeeId) { var notificationType = task.TaskAssignedTo.NotificationType; var notificationFrequency = task.TaskAssignedTo.NotificationFrequecy; return ( (notificationType == NotificationType.Daily) || (notificationType == NotificationType.Weekly && task.TaskCompletionDueDate.HasValue && QueriesHelper.SimplifyDate(task.TaskCompletionDueDate.Value) >= QueriesHelper.SimplifyDate(DateTime.Now.AddDays(-7))) || (notificationType == NotificationType.Monthly && notificationFrequency.HasValue && task.TaskCompletionDueDate.HasValue && QueriesHelper.SimplifyDate(task.TaskCompletionDueDate.Value) >= QueriesHelper.GetPreviousMonthsDate(notificationFrequency.Value)) ); } else { return false; } }
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")); }