public void NewRequest_callsPostToThirdPartyService() { //Arrange var controller = CreateNewController(); var dto = new MacGuffinDto { Body = "test string" }; //Act controller.NewRequest(dto); //Assert _mockMacGuffinRepository.Verify(x => x.AddNew(It.IsAny <MacGuffin>()), Times.Once); }
public void NewRequest_SendsToRepository() { //Arrange var controller = CreateNewController(); var dto = new MacGuffinDto { Body = "test string" }; //Act var result = controller.NewRequest(dto); //Assert var apiResult = Assert.IsType <CreatedResult>(result); _mockMacGuffinRepository.Verify(x => x.AddNew(It.IsAny <MacGuffin>()), Times.Once); apiResult.Location.Should().EndWith("/callback/0"); }
public ActionResult NewRequest(MacGuffinDto incomingDto) { var macGuffin = new MacGuffin(incomingDto.Body); _thirdPartyService.Post(macGuffin); _macGuffinRepository.AddNew(macGuffin); var statusURi = new UriBuilder { Path = $"callback/{macGuffin.Id}", Host = _httpContextAccessor.HttpContext.Request.Host.Host }; if (_httpContextAccessor.HttpContext.Request.Host.Port.HasValue) { statusURi.Port = (int)_httpContextAccessor.HttpContext.Request.Host.Port; } var userCallBack = statusURi.Uri; return(Created(userCallBack, macGuffin)); }