public void Handler_does_not_write_audit_log_entry_if_save_operation_fails() { _updateOrganisationRepository.Setup(x => x.UpdateCharityNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(false).Verifiable(); var request = new UpdateOrganisationCharityNumberRequest { CharityNumber = "11112222", OrganisationId = Guid.NewGuid(), UpdatedBy = "unit test" }; var fieldChanges = new List <AuditLogEntry>(); fieldChanges.Add(new AuditLogEntry { FieldChanged = AuditLogField.CharityNumber, NewValue = "1111111", PreviousValue = "22222222" }); _auditLogService.Setup(x => x.AuditCharityNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(new AuditData { FieldChanges = fieldChanges }); var result = _handler.Handle(request, new CancellationToken()).GetAwaiter().GetResult(); result.Should().BeFalse(); _auditLogService.Verify(x => x.AuditCharityNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); _updateOrganisationRepository.Verify(x => x.UpdateCharityNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); _updateOrganisationRepository.Verify(x => x.WriteFieldChangesToAuditLog(It.IsAny <AuditData>()), Times.Never); }
public void Handler_does_not_update_database_if_charity_number_invalid() { _validator.Setup(x => x.IsValidCharityNumber(It.IsAny <string>())).Returns(false); var request = new UpdateOrganisationCharityNumberRequest { CharityNumber = "1111222", OrganisationId = Guid.NewGuid(), UpdatedBy = "unit test" }; Func <Task> result = async() => await _handler.Handle(request, new CancellationToken()); result.Should().Throw <BadRequestException>(); _auditLogService.Verify(x => x.AuditCharityNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never); _updateOrganisationRepository.Verify(x => x.UpdateCharityNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never); _updateOrganisationRepository.Verify(x => x.WriteFieldChangesToAuditLog(It.IsAny <AuditData>()), Times.Never); }
public void Handler_does_not_update_database_if_charity_number_unchanged() { var request = new UpdateOrganisationCharityNumberRequest { CharityNumber = "11111111", OrganisationId = Guid.NewGuid(), UpdatedBy = "unit test" }; _validator.Setup(x => x.DuplicateCharityNumberInAnotherOrganisation(It.IsAny <string>(), It.IsAny <Guid>())) .Returns(new DuplicateCheckResponse { DuplicateFound = true, DuplicateOrganisationName = "Duplicate organisation name" }); Func <Task> result = async() => await _handler.Handle(request, new CancellationToken()); result.Should().Throw <BadRequestException>(); _auditLogService.Verify(x => x.AuditCharityNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never); _updateOrganisationRepository.Verify(x => x.UpdateCharityNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never); _updateOrganisationRepository.Verify(x => x.WriteFieldChangesToAuditLog(It.IsAny <AuditData>()), Times.Never); }
public async Task <IActionResult> UpdateCharityNumber([FromBody] UpdateOrganisationCharityNumberRequest updateCharityNumberRequest) { return(Ok(await _mediator.Send(updateCharityNumberRequest))); }
public async Task <bool> UpdateOrganisationCharityNumber(UpdateOrganisationCharityNumberRequest request) { HttpStatusCode result = await Put <UpdateOrganisationCharityNumberRequest>($"/api/v1/updateOrganisation/charityNumber", request); return(await Task.FromResult(result == HttpStatusCode.OK)); }