Beispiel #1
0
        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);
        }
Beispiel #2
0
        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");
        }
Beispiel #3
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));
        }