public void CaseDatesModel_NoticeReceivedAfterFirstHearing() { // Arrange var sut = new CaseDatesModel { CaseId = 1, NoticeReceivedOn = DateTime.Now.AddDays(1), FirstHearingOn = DateTime.Now.AddDays(-1) }; var context = new ValidationContext(sut, null, null); // Act var results = new List <ValidationResult>(); var isModelStateValid = Validator.TryValidateObject(sut, context, results, true); // Assert Assert.False(isModelStateValid); Assert.Single(results); foreach (var item in results) { Assert.Equal("First Hearing Date cannot be before the date on which Notice was received", item.ErrorMessage); Assert.Single(item.MemberNames); Assert.Contains("NoticeReceivedOn", item.MemberNames); } }
public async Task RetrieveAsync_Valid() { // Arrange int caseId = 1; SqlParamsModel queryParams = GetParams_RetrieveAsync(caseId); CaseDatesModel expected = GetSampleData(caseId); _mockDataAccess.QueryFirstOrDefaultAsync <CaseDatesModel>(default).ReturnsForAnyArgs(expected);
private static bool IsEqual(CaseDatesModel expected, CaseDatesModel actual) { bool isEqual = expected.CaseId == actual.CaseId && expected.CaseFiledOn == actual.CaseFiledOn && expected.NoticeReceivedOn == actual.NoticeReceivedOn && expected.FirstHearingOn == actual.FirstHearingOn; return(isEqual); }
public async Task <IActionResult> UpdateCaseDateDetails(CaseDatesModel caseDatesModel) { if (ModelState.IsValid == false) { return(ValidationProblem()); } int currUser = _sessionService.GetUserId(HttpContext); await _caseDatesService.UpdateAsync(caseDatesModel, currUser); return(NoContent()); }
private static CaseDatesModel GetSampleData(int caseId) { var result = new CaseDatesModel { CaseId = caseId, CaseFiledOn = DateTime.Today, NoticeReceivedOn = DateTime.Today, FirstHearingOn = DateTime.Today.AddDays(1) }; return(result); }
public async Task UpdateCaseDateDetails_ValidationProblem() { // Arrange int caseId = 1; CaseDatesModel caseDateModel = GetSampleData(caseId); _sut.ModelState.AddModelError("Field", "Sample Error Details"); // Act await _sut.UpdateCaseDateDetails(caseDateModel); // Assert _mockSessionService.DidNotReceiveWithAnyArgs().GetUserId(default);
public async Task <ActionResult <CaseDatesModel> > GetCaseDateDetails(int caseId) { if (caseId < 1) { return(UnprocessableEntity($"Invalid CaseId: {caseId}")); } CaseDatesModel caseDates = await _caseDatesService.RetrieveAsync(caseId); if (caseDates is null) { return(NotFound()); } return(Ok(caseDates)); }
public async Task UpdateAsync(CaseDatesModel caseDatesModel, int currUser) { var sqlModel = new SqlParamsModel { Sql = "pkg_case_dates.p_update_case_dates", Parameters = new OracleDynamicParameters() }; sqlModel.Parameters.Add("pi_case_id", caseDatesModel.CaseId, dbType: OracleMappingType.Int32, ParameterDirection.Input); sqlModel.Parameters.Add("pi_case_filed_on", caseDatesModel.CaseFiledOn, dbType: OracleMappingType.Date, ParameterDirection.Input); sqlModel.Parameters.Add("pi_notice_received_on", caseDatesModel.NoticeReceivedOn, dbType: OracleMappingType.Date, ParameterDirection.Input); sqlModel.Parameters.Add("pi_first_hearing_on", caseDatesModel.FirstHearingOn, dbType: OracleMappingType.Date, ParameterDirection.Input); sqlModel.Parameters.Add("pi_update_by", currUser, dbType: OracleMappingType.Int32, ParameterDirection.Input); await _dataAccess.ExecuteAsync(sqlModel); }
public async Task GetCaseDateDetails_NotFound() { // Arrange int caseId = 1; CaseDatesModel expected = null; _mockDatesService.RetrieveAsync(caseId).Returns(expected); // Act ActionResult <CaseDatesModel> response = await _sut.GetCaseDateDetails(caseId); // Assert await _mockDatesService.Received(1).RetrieveAsync(caseId); Assert.IsType <NotFoundResult>(response.Result); }
public async Task GetCaseDateDetails_Valid() { // Arrange int caseId = 1; CaseDatesModel expected = GetSampleData(caseId); _mockDatesService.RetrieveAsync(caseId).Returns(expected); // Act ActionResult <CaseDatesModel> response = await _sut.GetCaseDateDetails(caseId); // Assert await _mockDatesService.Received(1).RetrieveAsync(caseId); var createdAtActionResult = Assert.IsType <OkObjectResult>(response.Result); CaseDatesModel actual = (CaseDatesModel)createdAtActionResult.Value; Assert.True(actual is not null); Assert.Equal(expected.CaseId, actual.CaseId); Assert.Equal(expected.CaseFiledOn, actual.CaseFiledOn); Assert.Equal(expected.NoticeReceivedOn, actual.NoticeReceivedOn); Assert.Equal(expected.FirstHearingOn, actual.FirstHearingOn); }
public Task <HttpResponseMessage> UpdateCaseDatesAsync(CaseDatesModel caseDates) { return(_http.PostAsJsonAsync($"{datesBaseUrl}", caseDates)); }