public async Task <ActionResult <ReportTemplateDto> > PostReportTemplate([FromBody] ReportTemplateCreate command) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var id = await mediator.Send(command); return(CreatedAtAction("GetReportTemplate", new { id }, await mediator.Send(new ReportTemplatesGetById { Id = id }))); }
public async Task CreateTheItem() { var item = new ReportTemplateCreate { Name = "Test", Description = "Test", Tags = new List <string> { "Tag" }.AsEnumerable() }; var result = await Fixture.Controller.PostReportTemplate(item); var createdAt = Assert.IsType <CreatedAtActionResult>(result.Result); Assert.Contains(Fixture.Context.ReportTemplates, rt => rt.Name == item.Name); Assert.Collection(Fixture.Context.ReportTemplates .Include(rt => rt.Tags) .ThenInclude(rtrtt => rtrtt.ReportTemplateTag) .OrderBy(rt1 => rt1.Id) .First() .Tags, new Action <ReportTemplateReportTemplateTag>(tag => Assert.Equal("Tag", tag.ReportTemplateTag.Name))); }