public void When_Scheduling_A_Command_It_Is_Pushed_To_The_Store() { var schedulerStore = new MockSchedulerStore(); var commandScheduler = new MessageScheduler(schedulerStore); commandScheduler.ScheduleMessage(new TestCommand() { Test = "TestText"}, new DateTime(2012, 06, 24, 13, 37, 42)); Assert.AreEqual(1, schedulerStore.PushedMessages.Count); Assert.AreEqual(new DateTime(2012, 06, 24, 13, 37, 42), schedulerStore.PushedMessages[0].Item2); }
//TODO put this in the message scheduler /// <summary> /// Schedules the notification to be sent /// </summary> /// <param name="userTaskList"></param> /// <param name="dict"></param> /// <returns>nothing</returns> public async Task <string> ScheduleNotification(Usertask userTask, Dictionary <string, string> dict, TaskSchedule taskSchedule = null) { //get admin info var adminUserObj = await GetAdmin(dict); var adminContact = new SimpleUser() { name = adminUserObj.name, email = adminUserObj.ReplyToEmail }; //get contact info var user = await _data.GetOrSetCachedData(dict, Enums.DataType.Users, userTask.UserIdAssigned); var userObj = user.First().ToObject <User>(); //get task var task = await _data.GetOrSetCachedData(dict, Enums.DataType.Tasks, userTask.TaskId); var taskObj = task.First().ToObject <TaskItem>(); //Make message return(_ms.ScheduleMessage(adminContact, userObj, taskObj, userTask, taskSchedule)); }