public void Establish() { _taskToBeEdited = new Task("My Task", "My Task Description", DateTime.Now); _tasksDAO = new Tasks.Adapters.DataAccess.TasksDAO(); _tasksDAO.Clear(); _taskToBeEdited = _tasksDAO.Add(_taskToBeEdited); _cmd = new EditTaskCommand(_taskToBeEdited.Id, NEW_TASK_NAME, NEW_TASK_DESCRIPTION, _NEW_TIME); s_commandProcessor = A.Fake <IAmACommandProcessor>(); _handler = new EditTaskCommandHandler(_tasksDAO, s_commandProcessor); }
public async Task CreateNewTaskSuccessfully() { var @event = new Event { Id = 1, IsLimitVolunteers = true, IsAllowWaitList = false }; var organization = new Organization { Id = 2 }; var message = new EditTaskCommand { Task = new EditViewModel { Name = "TaskName", Description = "TaskDescription", EventId = @event.Id, OrganizationId = organization.Id, TimeZoneId = "Central Standard Time", NumberOfVolunteersRequired = 5, RequiredSkills = new List <TaskSkill> { new TaskSkill { SkillId = 3, Skill = new Skill { Id = 3, Name = "SkillName", Description = "SkillDescription" } } } } }; Context.Database.EnsureDeleted(); Context.Events.Add(@event); Context.Organizations.Add(organization); Context.SaveChanges(); var sut = new EditTaskCommandHandler(Context); var taskId = await sut.Handle(message); var result = Context.Tasks.Single(x => x.Id == taskId); Assert.True(taskId > 0); Assert.Equal(result.Name, message.Task.Name); Assert.Equal(result.Description, message.Task.Description); Assert.Equal(result.Event, @event); Assert.Equal(result.Organization, organization); Assert.Equal(result.NumberOfVolunteersRequired, message.Task.NumberOfVolunteersRequired); Assert.Equal(result.IsLimitVolunteers, @event.IsLimitVolunteers); Assert.Equal(result.IsAllowWaitList, @event.IsAllowWaitList); Assert.Equal(result.RequiredSkills, message.Task.RequiredSkills); }
public async Task CreateNewTaskSuccessfully() { var @event = new Event { Id = 1, IsLimitVolunteers = true, IsAllowWaitList = false }; var organization = new Organization { Id = 2 }; var message = new EditTaskCommand { Task = new EditViewModel { Name = "TaskName", Description = "TaskDescription", EventId = @event.Id, OrganizationId = organization.Id, TimeZoneId = "Central Standard Time", NumberOfVolunteersRequired = 5, RequiredSkills = new List<TaskSkill> { new TaskSkill { SkillId = 3, Skill = new Skill { Id = 3, Name = "SkillName", Description = "SkillDescription" } } } } }; Context.Database.EnsureDeleted(); Context.Events.Add(@event); Context.Organizations.Add(organization); Context.SaveChanges(); var sut = new EditTaskCommandHandler(Context); var taskId = await sut.Handle(message); var result = Context.Tasks.Single(x => x.Id == taskId); Assert.True(taskId > 0); Assert.Equal(result.Name, message.Task.Name); Assert.Equal(result.Description, message.Task.Description); Assert.Equal(result.Event, @event); Assert.Equal(result.Organization, organization); Assert.Equal(result.NumberOfVolunteersRequired, message.Task.NumberOfVolunteersRequired); Assert.Equal(result.IsLimitVolunteers, @event.IsLimitVolunteers); Assert.Equal(result.IsAllowWaitList, @event.IsAllowWaitList); Assert.Equal(result.RequiredSkills, message.Task.RequiredSkills); }
public async Task UpdateExistingTaskSuccessfully() { var @event = new Event { Id = 3 }; var organization = new Organization { Id = 4 }; var @task = new AllReadyTask { Id = 2, Name = "TaskName", Description = "TaskDescription", Event = @event, Organization = organization, NumberOfVolunteersRequired = 5, RequiredSkills = new List <TaskSkill> { new TaskSkill { SkillId = 5, Skill = new Skill { Id = 5, Name = "SkillName", Description = "SkillDescription" } } } }; Context.Database.EnsureDeleted(); Context.Events.Add(@event); Context.Organizations.Add(organization); Context.Tasks.Add(@task); Context.SaveChanges(); var message = new EditTaskCommand { Task = new EditViewModel { Id = @task.Id, Name = "TaskNameUpdated", Description = "TaskDescriptionUpdated", EventId = @event.Id, OrganizationId = organization.Id, TimeZoneId = "Central Standard Time", StartDateTime = DateTimeOffset.Now.AddDays(1), EndDateTime = DateTimeOffset.Now.AddDays(2), NumberOfVolunteersRequired = 6, RequiredSkills = new List <TaskSkill> { new TaskSkill { SkillId = 6, Skill = new Skill { Id = 6, Name = "SkillNameOnMessage", Description = "SkillDescriptionOnMessage" } } } } }; var sut = new EditTaskCommandHandler(Context); var taskId = await sut.Handle(message); var result = Context.Tasks.Single(x => x.Id == taskId); //can't test start and end date as they're tied to static classes Assert.Equal(taskId, message.Task.Id); Assert.Equal(result.Name, message.Task.Name); Assert.Equal(result.Description, message.Task.Description); Assert.Equal(result.Event, @event); Assert.Equal(result.Organization, organization); Assert.Equal(result.NumberOfVolunteersRequired, message.Task.NumberOfVolunteersRequired); Assert.Equal(result.IsLimitVolunteers, @event.IsLimitVolunteers); Assert.Equal(result.IsAllowWaitList, @event.IsAllowWaitList); Assert.Equal(result.RequiredSkills, message.Task.RequiredSkills); }
public void ModelIsCreated() { var sut = new EditTaskCommandHandler(Context); int actual = sut.Handle(new EditTaskCommand {Task = new TaskEditModel()}); Assert.Equal(1, actual); }
public async Task UpdateExistingTaskSuccessfully() { var @event = new Event { Id = 3 }; var organization = new Organization { Id = 4 }; var @task = new AllReadyTask { Id = 2, Name = "TaskName", Description = "TaskDescription", Event = @event, Organization = organization, NumberOfVolunteersRequired = 5, RequiredSkills = new List<TaskSkill> { new TaskSkill { SkillId = 5, Skill = new Skill { Id = 5, Name = "SkillName", Description = "SkillDescription" } } } }; Context.Database.EnsureDeleted(); Context.Events.Add(@event); Context.Organizations.Add(organization); Context.Tasks.Add(@task); Context.SaveChanges(); var message = new EditTaskCommand { Task = new EditViewModel { Id = @task.Id, Name = "TaskNameUpdated", Description = "TaskDescriptionUpdated", EventId = @event.Id, OrganizationId = organization.Id, TimeZoneId = "Central Standard Time", StartDateTime = DateTimeOffset.Now.AddDays(1), EndDateTime = DateTimeOffset.Now.AddDays(2), NumberOfVolunteersRequired = 6, RequiredSkills = new List<TaskSkill> { new TaskSkill { SkillId = 6, Skill = new Skill { Id = 6, Name = "SkillNameOnMessage", Description = "SkillDescriptionOnMessage" } } } } }; var sut = new EditTaskCommandHandler(Context); var taskId = await sut.Handle(message); var result = Context.Tasks.Single(x => x.Id == taskId); //can't test start and end date as they're tied to static classes Assert.Equal(taskId, message.Task.Id); Assert.Equal(result.Name, message.Task.Name); Assert.Equal(result.Description, message.Task.Description); Assert.Equal(result.Event, @event); Assert.Equal(result.Organization, organization); Assert.Equal(result.NumberOfVolunteersRequired, message.Task.NumberOfVolunteersRequired); Assert.Equal(result.IsLimitVolunteers, @event.IsLimitVolunteers); Assert.Equal(result.IsAllowWaitList, @event.IsAllowWaitList); Assert.Equal(result.RequiredSkills, message.Task.RequiredSkills); }
public void ModelIsCreated() { var sut = new EditTaskCommandHandler(Context); int actual = sut.Handle(new EditTaskCommand { Task = new TaskEditModel { TimeZoneId = "Eastern Standard Time"} }); Assert.Equal(1, actual); }