public void Handler_writes_updated_company_number_and_audit_log_entry_to_database() { var request = new UpdateOrganisationCompanyNumberRequest { CompanyNumber = "11112222", OrganisationId = Guid.NewGuid(), UpdatedBy = "unit test" }; var fieldChanges = new List <AuditLogEntry>(); fieldChanges.Add(new AuditLogEntry { FieldChanged = AuditLogField.CompanyNumber, NewValue = "1111111", PreviousValue = "22222222" }); _auditLogService.Setup(x => x.AuditCompanyNumber(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().BeTrue(); _auditLogService.Verify(x => x.AuditCompanyNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); _updateOrganisationRepository.Verify(x => x.UpdateCompanyNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); _updateOrganisationRepository.Verify(x => x.WriteFieldChangesToAuditLog(It.IsAny <AuditData>()), Times.Once); }
public void Handler_does_not_update_database_if_company_number_invalid() { _validator.Setup(x => x.IsValidCompanyNumber(It.IsAny <string>())).Returns(false); var request = new UpdateOrganisationCompanyNumberRequest { CompanyNumber = "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.AuditCompanyNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never); _updateOrganisationRepository.Verify(x => x.UpdateCompanyNumber(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_company_number_duplicated() { var request = new UpdateOrganisationCompanyNumberRequest { CompanyNumber = "11111111", OrganisationId = Guid.NewGuid(), UpdatedBy = "unit test" }; _validator.Setup(x => x.DuplicateCompanyNumberInAnotherOrganisation(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.AuditCompanyNumber(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never); _updateOrganisationRepository.Verify(x => x.UpdateCompanyNumber(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> UpdateCompanyNumber([FromBody] UpdateOrganisationCompanyNumberRequest updateCompanyNumberRequest) { return(Ok(await _mediator.Send(updateCompanyNumberRequest))); }
public async Task <bool> UpdateOrganisationCompanyNumber(UpdateOrganisationCompanyNumberRequest request) { HttpStatusCode result = await Put <UpdateOrganisationCompanyNumberRequest>($"/api/v1/updateOrganisation/companyNumber", request); return(await Task.FromResult(result == HttpStatusCode.OK)); }