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);
        }
コード例 #4
0
 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);
     }));
 }