public IActionResult MessageAllVolunteers(MessageTaskVolunteersModel model) { //TODO: Query only for the organization Id rather than the whole activity detail if (!ModelState.IsValid) { return(HttpBadRequest(ModelState)); } var task = _bus.Send(new TaskQuery { TaskId = model.TaskId }); if (task == null) { return(HttpNotFound()); } if (!User.IsOrganizationAdmin(task.OrganizationId)) { return(HttpUnauthorized()); } _bus.Send(new MessageTaskVolunteersCommand { Model = model }); return(Ok()); }
public async Task MessageAllVounteersSendsTaskQueryAsyncWithCorrectTaskId() { var model = new MessageTaskVolunteersModel { TaskId = 1 }; var mediator = new Mock <IMediator>(); var sut = new TaskController(mediator.Object); await sut.MessageAllVolunteers(model); mediator.Verify(x => x.SendAsync(It.Is <TaskQueryAsync>(y => y.TaskId == model.TaskId)), Times.Once); }
public async Task MessageAllVolunteersSendsMessageTaskVolunteersCommandAsyncWithCorrectData() { const int organizationId = 1; var model = new MessageTaskVolunteersModel(); var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <TaskQueryAsync>())).ReturnsAsync(new TaskSummaryModel { OrganizationId = organizationId }); var sut = new TaskController(mediator.Object); MakeUserOrganizationAdminUser(sut, organizationId.ToString()); await sut.MessageAllVolunteers(model); mediator.Verify(x => x.SendAsync(It.Is <MessageTaskVolunteersCommandAsync>(y => y.Model == model)), Times.Once); }
public async Task <IActionResult> MessageAllVolunteers(MessageTaskVolunteersModel model) { //TODO: Query only for the organization Id rather than the whole event detail if (!ModelState.IsValid) { return(HttpBadRequest(ModelState)); } var task = await _mediator.SendAsync(new TaskQueryAsync { TaskId = model.TaskId }); if (task == null) { return(HttpNotFound()); } if (!User.IsOrganizationAdmin(task.OrganizationId)) { return(HttpUnauthorized()); } await _mediator.SendAsync(new MessageTaskVolunteersCommandAsync { Model = model }); return(Ok()); }