public async Task ItShouldReturnNotFoundWhenThereIsNoSpfState()
        {
            A.CallTo(() => _spfService.GetSpfForDomain(A <string> ._))
            .Returns(Task.FromResult <SpfInfoResponse>(null));

            ObjectResult response = (ObjectResult)await _sut.GetSpf(new SpfDomainRequest { Domain = "ncsc.gov.uk" });

            Assert.That(response, Is.TypeOf(typeof(NotFoundObjectResult)));
        }
        public async Task <IActionResult> GetSpf(SpfDomainRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ErrorResponse(ModelState.Values)));
            }

            SpfInfoResponse response = await _spfService.GetSpfForDomain(request.Domain);

            if (response == null)
            {
                return(new NotFoundObjectResult(new ErrorResponse($"No Spf found for {request.Domain}",
                                                                  ErrorStatus.Information)));
            }

            return(new ObjectResult(response));
        }