public async void Valid_ReturnsNotFound() { var controller = new NrlsController(_pointerService); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.Valid_Search; var response = await controller.Document("anything", "0000000001"); Assert.IsType <NotFoundResult>(response); var notFoundResult = response as NotFoundResult; Assert.Equal(404, notFoundResult.StatusCode); }
public void UpdateStatus_BadBodyOrQuery() { var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.InvalidQuery_Update_Pointer; var response = controller.Patch(new Parameters()); Assert.True(response.IsFaulted); Assert.NotNull(response.Exception); Assert.NotNull(response.Exception.InnerException); Assert.Equal(typeof(HttpFhirException), response.Exception.InnerException.GetType()); Assert.NotNull((response.Exception.InnerException as HttpFhirException).OperationOutcome); }
public async void Search_Valid() { var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.Valid_Search; var response = await controller.Search(); Assert.IsType <OkObjectResult>(response); var okResult = response as OkObjectResult; Assert.Equal(200, okResult.StatusCode); var responseContent = okResult.Value; Assert.IsType <Bundle>(responseContent); var bundle = responseContent as Bundle; Assert.Equal(2, bundle.Total); }
public async void UpdateStatus_Valid() { var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.Valid_Update_Pointer; var response = await controller.Patch(new Parameters(), "logicalId"); Assert.IsType <OkObjectResult>(response); var okResult = response as OkObjectResult; Assert.Equal(200, okResult.StatusCode); var responseContent = okResult.Value; Assert.IsType <OperationOutcome>(responseContent); var operationOutcome = responseContent as OperationOutcome; Assert.True(operationOutcome.Success); }
public async void Read_Inactive() { var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.Inactive_Search; var response = await controller.Read("logicalId"); Assert.IsType <BadRequestObjectResult>(response); var result = response as BadRequestObjectResult; Assert.Equal(400, result.StatusCode); var responseContent = result.Value; Assert.IsType <OperationOutcome>(responseContent); var outcome = responseContent as OperationOutcome; Assert.Equal(1, outcome.Errors); }
public async void Read_NotFound() { var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.NotFound_Search; var response = await controller.Read("logicalId"); Assert.IsType <NotFoundObjectResult>(response); var notFoundResult = response as NotFoundObjectResult; Assert.Equal(404, notFoundResult.StatusCode); var responseContent = notFoundResult.Value; Assert.IsType <OperationOutcome>(responseContent); var outcome = responseContent as OperationOutcome; Assert.False(outcome.Success); }
public async void Valid_ReturnsOk() { var controller = new NrlsController(_pointerService); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.Valid_Search; var response = await controller.Document("anything", "0000000000"); Assert.IsType <OkObjectResult>(response); var okResult = response as OkObjectResult; Assert.Equal(200, okResult.StatusCode); var responseContent = okResult.Value; Assert.IsType <Binary>(responseContent); var binary = responseContent as Binary; Assert.Equal("text/html", binary.ContentType); Assert.Equal(Encoding.UTF8.GetBytes("<p>Hello</p>"), binary.Content); }
public async void Read_Found() { var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.Valid_Search; var response = await controller.Read("logicalId"); Assert.IsType <OkObjectResult>(response); var okResult = response as OkObjectResult; Assert.Equal(200, okResult.StatusCode); var responseContent = okResult.Value; Assert.IsType <DocumentReference>(responseContent); var outcome = responseContent as DocumentReference; Assert.Equal(ResourceType.DocumentReference, outcome.ResourceType); Assert.Equal("https://directory.spineservices.nhs.uk/STU3/Organization/1XR", outcome.Custodian.Reference); Assert.Equal("https://demographics.spineservices.nhs.uk/STU3/Patient/2686033207", outcome.Subject.Reference); }
public async void UpdateStatus_NotFound() { var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.Invalid_Delete_Pointer_NotFound; var response = await controller.Patch(new Parameters()); Assert.IsType <NotFoundObjectResult>(response); var notfoundResult = response as NotFoundObjectResult; Assert.Equal(404, notfoundResult.StatusCode); var responseContent = notfoundResult.Value; Assert.IsType <OperationOutcome>(responseContent); var operationOutcome = responseContent as OperationOutcome; Assert.False(operationOutcome.Success); Assert.NotNull(operationOutcome.Issue.FirstOrDefault(x => x.Details.Coding.FirstOrDefault(y => y.Code == "NO_RECORD_FOUND") != null)); }
public async void UpdateStatus_Invalid() { var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = HttpContexts.Invalid_Delete_Pointer_BadRequest; var response = await controller.Patch(new Parameters()); Assert.IsType <BadRequestObjectResult>(response); var badResult = response as BadRequestObjectResult; Assert.Equal(400, badResult.StatusCode); var responseContent = badResult.Value; Assert.IsType <OperationOutcome>(responseContent); var operationOutcome = responseContent as OperationOutcome; Assert.False(operationOutcome.Success); Assert.NotNull(operationOutcome.Issue.FirstOrDefault(x => x.Details.Coding.FirstOrDefault(y => y.Code == "INVALID_RESOURCE") != null)); }