public async Task CreateClanAsync_ShouldBeOfTypeOkObjectResult() { // Arrange TestMock.ClanService.Setup(clanService => clanService.CreateClanAsync(It.IsAny <UserId>(), It.IsAny <string>())) .ReturnsAsync(new DomainValidationResult <Clan>()) .Verifiable(); var clansController = new ClansController(TestMock.ClanService.Object, TestMapper) { ControllerContext = { HttpContext = MockHttpContextAccessor.GetInstance() } }; var request = new CreateClanRequest { Name = "DONTINVADE", Summary = "URSSINWINTER" }; // Act var result = await clansController.CreateClanAsync(request); // Assert result.Should().BeOfType <OkObjectResult>(); TestMock.ClanService.Verify(clanService => clanService.CreateClanAsync(It.IsAny <UserId>(), It.IsAny <string>()), Times.Once); }
public async Task <IActionResult> CreateClanAsync(CreateClanRequest request) { var userId = HttpContext.GetUserId(); var result = await _clanService.CreateClanAsync(userId, request.Name); if (result.IsValid) { return(this.Ok("The clan has been created.")); } result.AddToModelState(ModelState); return(this.BadRequest(new ValidationProblemDetails(ModelState))); }
private async Task <HttpResponseMessage> ExecuteAsync(CreateClanRequest clanPostRequest) { return(await _httpClient.PostAsJsonAsync("api/clans", clanPostRequest)); }