public async Task Produces_201Created() { var templateId = Guid.NewGuid(); var request = new CreateTemplateVersion { Content = "Lorem Ipsum", IsActive = true }; var ct = CancellationToken.None; _templateManager.Setup(x => x.CreateTemplateVersion(It.IsAny <Guid>(), templateId, request.Content, request.IsActive, ct)); var result = await _controller.AddNewTemplateVersion(templateId, request, ct) as CreatedAtRouteResult; result.Should().NotBeNull(); result.RouteName.Should().Be("TemplateVersionDetails"); var routeTemplateId = Guid.Parse(result.RouteValues["templateId"].ToString()); routeTemplateId.Should().Be(templateId); var templateVersionId = Guid.Parse(result.RouteValues["templateVersionId"].ToString()); _templateManager.Setup(x => x.CreateTemplateVersion(templateVersionId, templateId, request.Content, request.IsActive, ct)); }
public async Task Produces_404NotFound_On_TemplateNotFoundException() { var templateId = Guid.NewGuid(); var request = new CreateTemplateVersion { Content = "Lorem Ipsum", IsActive = true }; var ct = CancellationToken.None; _templateManager.Setup(x => x.CreateTemplateVersion(It.IsAny <Guid>(), templateId, request.Content, request.IsActive, ct)) .Throws(new TemplateNotFoundException(templateId)); var result = await _controller.AddNewTemplateVersion(templateId, request, ct); result.Should().BeOfType(typeof(NotFoundResult)); }
public async Task Produces_500InternalServerError_On_TemplateVersionCreationFailedException() { var templateId = Guid.NewGuid(); var request = new CreateTemplateVersion { Content = "Lorem Ipsum", IsActive = true }; var ct = CancellationToken.None; _templateManager.Setup(x => x.CreateTemplateVersion(It.IsAny <Guid>(), templateId, request.Content, request.IsActive, ct)) .Throws(new TemplateVersionCreationFailedException(templateId, new Exception())); var result = await _controller.AddNewTemplateVersion(templateId, request, ct); result.Should().BeOfType(typeof(StatusCodeResult)); ((StatusCodeResult)result).StatusCode.Should().Be(500); }
public Task <IActionResult> AddNewTemplateVersion([FromRoute] Guid templateId, CreateTemplateVersion request, CancellationToken cancellationToken) { return(SafeInvoke(async() => { var templateVersionId = Guid.NewGuid(); await _templateManager.CreateTemplateVersion(templateVersionId, templateId, request.Content, request.IsActive, cancellationToken); return CreatedAtRoute("TemplateVersionDetails", new { templateId, templateVersionId }, null); })); }