예제 #1
0
        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
            })));
        }
예제 #2
0
        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)));
        }