コード例 #1
0
        public async Task <IActionResult> ChangeDoxatagAsync([FromBody] ChangeDoxatagRequest request)
        {
            var user = await _userService.GetUserAsync(User);

            var result = await _doxatagService.ChangeDoxatagAsync(user, request.Name);

            if (result.IsValid)
            {
                return(this.Ok(_mapper.Map <DoxatagDto>(result.Response)));
            }

            result.AddToModelState(ModelState);

            return(this.BadRequest(new ValidationProblemDetails(ModelState)));
        }
コード例 #2
0
        public async Task ChangeDoxatagAsync_ShouldBeOkObjectResult()
        {
            // Arrange
            var user = new User
            {
                Id = Guid.NewGuid()
            };

            var doxatag = new Doxatag(
                UserId.FromGuid(user.Id),
                "Name",
                1000,
                new UtcNowDateTimeProvider());

            TestMock.UserService.Setup(userManager => userManager.GetUserAsync(It.IsAny <ClaimsPrincipal>())).ReturnsAsync(user).Verifiable();

            TestMock.DoxatagService.Setup(doxatagService => doxatagService.ChangeDoxatagAsync(It.IsAny <User>(), It.IsAny <string>()))
            .ReturnsAsync(DomainValidationResult <Doxatag> .Succeeded(doxatag))
            .Verifiable();

            var controller = new DoxatagHistoryController(TestMock.UserService.Object, TestMock.DoxatagService.Object, TestMapper);

            var request = new ChangeDoxatagRequest
            {
                Name = doxatag.Name
            };

            // Act
            var result = await controller.ChangeDoxatagAsync(request);

            // Assert
            result.Should().BeOfType <OkObjectResult>();

            TestMock.UserService.Verify(userManager => userManager.GetUserAsync(It.IsAny <ClaimsPrincipal>()), Times.Once);

            TestMock.DoxatagService.Verify(doxatagService => doxatagService.ChangeDoxatagAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Once);
        }
コード例 #3
0
 private async Task <HttpResponseMessage> ExecuteAsync(ChangeDoxatagRequest request)
 {
     return(await _httpClient.PostAsJsonAsync("api/doxatag-history", request));
 }