public void GetCaseByRecordIdCallsTheCreateRequestAuditUseCaseWithCorrectValuesWhenAuditingIsEnabled() { var getCaseNotesRequest = new GetCaseNotesRequest() { AuditingEnabled = true, UserId = _faker.Person.Email, Id = "tyut67t89t876t", ResidentId = "4" }; var auditRequest = new CreateRequestAuditRequest() { ActionName = "view_case_note", UserName = getCaseNotesRequest.UserId, Metadata = new Dictionary <string, object>() { { "residentId", getCaseNotesRequest.ResidentId }, { "casenoteId", getCaseNotesRequest.Id } } }; _mockCreateRequestAuditUseCase.Setup(x => x.Execute(auditRequest)).Verifiable(); _caseController.GetCaseByRecordId(getCaseNotesRequest); _mockCreateRequestAuditUseCase.Verify(x => x.Execute(It.Is <CreateRequestAuditRequest>( x => x.ActionName == auditRequest.ActionName && x.UserName == auditRequest.UserName && JsonConvert.SerializeObject(x.Metadata) == JsonConvert.SerializeObject(auditRequest.Metadata) )), Times.Once); }
public IActionResult GetCaseByRecordId([FromQuery] GetCaseNotesRequest request) { if (request.AuditingEnabled && !string.IsNullOrEmpty(request.UserId) && !string.IsNullOrEmpty(request.ResidentId)) { var auditRequest = new CreateRequestAuditRequest() { ActionName = "view_case_note", UserName = request.UserId, Metadata = new Dictionary <string, object>() { { "residentId", request.ResidentId }, { "casenoteId", request.Id } } }; _createRequestAuditUseCase.Execute(auditRequest); } var caseRecord = _caseRecordsUseCase.Execute(request.Id); if (caseRecord == null) { return(NotFound("Document Not Found")); } return(Ok(caseRecord)); }
public void GetCaseByRecordIdCallsTheCaseRecordsUseCaseWhenOnlyIdIsProvidedToEnsureBackwardsCompatibility() { var getCaseNotesRequest = new GetCaseNotesRequest() { Id = "tyut67t89t876t" }; _caseController.GetCaseByRecordId(getCaseNotesRequest); _mockProcessDataUseCase.Verify(x => x.Execute(It.IsAny <string>())); }
public void GetCaseNoteByIdThrowsExceptionWithMessageWhenIdConversionFails() { var request = new GetCaseNotesRequest { Id = "not a number" }; _mockCaseNotesUseCase.Setup(x => x.ExecuteGetById(It.IsAny <string>())).Throws(new CaseNoteIdConversionException("$Note id conversion failed for { noteId}")); var response = _classUnderTest.GetCaseNoteById(request) as ObjectResult; response.StatusCode.Should().Be(400); }
public void GetCaseNotesByNoteIdReturns404WhenNoMatchingCaseNoteId() { var request = new GetCaseNotesRequest { Id = "1" }; _mockCaseNotesUseCase.Setup(x => x.ExecuteGetById(It.IsAny <string>())) .Throws(new CaseNoteNotFoundException()); var response = _classUnderTest.GetCaseNoteById(request) as StatusCodeResult; response.StatusCode.Should().Be(404); }
public void GetCaseNoteByIdReturns400WhenUSeCaseThrowsCaseNoteIdConversionException() { var request = new GetCaseNotesRequest { Id = "1" }; _mockCaseNotesUseCase.Setup(x => x.ExecuteGetById(request.Id)).Throws(new CaseNoteIdConversionException($"Note id conversion failed for {request.Id}")); var response = _classUnderTest.GetCaseNoteById(request) as ObjectResult; response.StatusCode.Should().Be(400); response.Value.Should().Be($"Note id conversion failed for {request.Id}"); }
public void GettingASingleCaseNoteByNoteIdReturns200WhenSuccessful() { var request = new GetCaseNotesRequest { Id = "1" }; var note = _fixture.Create <CaseNoteResponse>(); _mockCaseNotesUseCase.Setup(x => x.ExecuteGetById(It.IsAny <string>())).Returns(note); var response = _classUnderTest.GetCaseNoteById(request) as ObjectResult; response?.StatusCode.Should().Be(200); response?.Value.Should().BeEquivalentTo(note); }
public void GetCaseByRecordIdDoesNotCallTheCreateRequestAuditUseCaseWhenAuditingIsEnabledIsFalse() { var request = new GetCaseNotesRequest() { AuditingEnabled = false, UserId = _faker.Person.Email, Id = "tyut67t89t876t", ResidentId = "4" }; _caseController.GetCaseByRecordId(request); _mockCreateRequestAuditUseCase.Verify(x => x.Execute(It.IsAny <CreateRequestAuditRequest>()), Times.Never); }
public void GetCaseByRecordIdCallsTheCreateRequestAuditUseCaseWhenAuditingIsEnabledIsTrueAndUserIdAndResidentIdAreProvided() { var getCaseNotesRequest = new GetCaseNotesRequest() { AuditingEnabled = true, UserId = _faker.Person.Email, Id = "tyut67t89t876t", ResidentId = "4" }; _caseController.GetCaseByRecordId(getCaseNotesRequest); _mockCreateRequestAuditUseCase.Verify(x => x.Execute(It.IsAny <CreateRequestAuditRequest>())); }
public IActionResult GetCaseNoteById([FromQuery] GetCaseNotesRequest request) { try { return(Ok(_caseNotesUseCase.ExecuteGetById(request.Id))); } catch (CaseNoteIdConversionException ex) { return(BadRequest(ex.Message)); } catch (CaseNoteNotFoundException) { return(NotFound()); } }
public void SetUp() { _request = new GetCaseNotesRequest(); }