public void Given_Employee_is_assignee_then_dont_return_due_2days_action_task_when_set_to_daily_notifications()
        {
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Daily };
            var actionTask = new ActionTask()
            {
                TaskAssignedTo = employee,
                TaskStatus = TaskStatus.Outstanding,
                TaskCompletedDate = null,
                TaskCompletionDueDate = DateTime.Now.AddDays(2)
            };

            var action = new Domain.Entities.Action();
            action.ActionTasks.Add(actionTask);

            _actions.Add(action);

            var target = new GetDueActionTasksForEmployeeQuery(_queryableWrapper.Object);

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

            //THEN
            Assert.That(result.Count, Is.EqualTo(0));
        }
        public void Given_notification_is_weekly_and_taskDueDate_less_than_month_away_then_return_due_action_task()
        {
            var employee = new Employee() { Id = Guid.NewGuid(), NotificationType = NotificationType.Monthly };
            var actionTask = new ActionTask()
            {
                TaskAssignedTo = employee,
                TaskStatus = TaskStatus.Outstanding,
                TaskCompletedDate = null,
                TaskCompletionDueDate = DateTime.Now.AddDays(25)
            };

            var action = new Domain.Entities.Action();
            action.ActionTasks.Add(actionTask);

            _actions.Add(action);

            var target = new GetDueActionTasksForEmployeeQuery(_queryableWrapper.Object);

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

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