public void Given_Employee_is_assigned_a_task_then_return_task() { var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Daily}; var actionTask = new ActionTask() { TaskAssignedTo = employee, TaskCompletedDate = null, TaskCompletionDueDate = DateTime.Now.AddDays(-5) }; var action = new BusinessSafe.Domain.Entities.Action(); action.ActionTasks.Add(actionTask); _actions.Add(action); var target = new GetOverdueActionTasksForEmployeeQuery(_queryableWrapper.Object); //WHEN var result = target.Execute(employee.Id, null); //THEN Assert.That(result.Count, Is.EqualTo(1)); }
public void Given_employee_is_assignee_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 action = new BusinessSafe.Domain.Entities.Action(); action.ActionTasks.Add(new ActionTask() { TaskAssignedTo = employee, TaskCompletedDate = null, TaskCompletionDueDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 27), //27th of last month, Title = "one" }); action.ActionTasks.Add(new ActionTask() { TaskAssignedTo = employee, TaskCompletedDate = null, TaskCompletionDueDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 28), //28th of last month, Title = "two" }); action.ActionTasks.Add(new ActionTask() { TaskAssignedTo = employee, TaskCompletedDate = null, TaskCompletionDueDate = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-1).Month, 23), //23th of last month, Title = "three" }); _actions.Add(action); var target = new GetOverdueActionTasksForEmployeeQuery(_queryableWrapper.Object); //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")); }
public void Given_employee_is_asignee_and_notification_frequency_is_set_to_weekly_then_return_tasks_since_previous_week() { var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Weekly, NotificationFrequecy = (int)DayOfWeek.Wednesday }; var action = new BusinessSafe.Domain.Entities.Action(); action.ActionTasks.Add( new ActionTask() { TaskAssignedTo = employee, TaskCompletedDate = null, TaskCompletionDueDate = DateTime.Now.AddDays(-5) }); action.ActionTasks.Add(new ActionTask() { TaskAssignedTo = employee, TaskCompletedDate = null, TaskCompletionDueDate = DateTime.Now.AddDays(-2) }); action.ActionTasks.Add(new ActionTask() { TaskAssignedTo = employee, TaskCompletedDate = null, TaskCompletionDueDate = DateTime.Now.AddDays(-12) }); _actions.Add(action); var target = new GetOverdueActionTasksForEmployeeQuery(_queryableWrapper.Object); //WHEN var result = target.Execute(employee.Id, null); //THEN Assert.That(result.Count, Is.EqualTo(2)); }