public void Handler_writes_updated_parent_company_guarantee_and_audit_log_entry_to_database()
        {
            var fieldChanges = new List <AuditLogEntry>();

            fieldChanges.Add(new AuditLogEntry {
                FieldChanged = "Parent Company Guarantee", NewValue = "True", PreviousValue = "False"
            });
            _auditLogService.Setup(x => x.AuditParentCompanyGuarantee(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <bool>()))
            .Returns(new AuditData {
                FieldChanges = fieldChanges
            });
            var request = new UpdateOrganisationParentCompanyGuaranteeRequest
            {
                ParentCompanyGuarantee = false,
                OrganisationId         = Guid.NewGuid(),
                UpdatedBy = "unit test"
            };

            var result = _handler.Handle(request, new CancellationToken()).GetAwaiter().GetResult();

            result.Should().BeTrue();

            _auditLogService.Verify(x => x.AuditParentCompanyGuarantee(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <bool>()), Times.Once);
            _updateRepository.Verify(x => x.UpdateParentCompanyGuarantee(It.IsAny <Guid>(), It.IsAny <bool>(), It.IsAny <string>()), Times.Once);
            _updateRepository.Verify(x => x.WriteFieldChangesToAuditLog(It.IsAny <AuditData>()), Times.Once);
        }
        public void Handler_does_not_update_database_if_parent_company_guarantee_unchanged()
        {
            var request = new UpdateOrganisationParentCompanyGuaranteeRequest
            {
                ParentCompanyGuarantee = true,
                OrganisationId         = Guid.NewGuid(),
                UpdatedBy = "unit test"
            };

            var result = _handler.Handle(request, new CancellationToken()).GetAwaiter().GetResult();

            result.Should().BeFalse();

            _auditLogService.Verify(x => x.AuditParentCompanyGuarantee(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <bool>()), Times.Once);
            _updateRepository.Verify(x => x.UpdateParentCompanyGuarantee(It.IsAny <Guid>(), It.IsAny <bool>(), It.IsAny <string>()), Times.Never);
            _updateRepository.Verify(x => x.WriteFieldChangesToAuditLog(It.IsAny <AuditData>()), Times.Never);
        }
        public void Handler_does_not_write_audit_log_entry_if_save_operation_fails()
        {
            _updateRepository.Setup(x => x.UpdateParentCompanyGuarantee(It.IsAny <Guid>(), It.IsAny <bool>(), It.IsAny <string>())).ReturnsAsync(false).Verifiable();

            var request = new UpdateOrganisationParentCompanyGuaranteeRequest
            {
                ParentCompanyGuarantee = true,
                OrganisationId         = Guid.NewGuid(),
                UpdatedBy = "unit test"
            };

            var result = _handler.Handle(request, new CancellationToken()).GetAwaiter().GetResult();

            result.Should().BeFalse();

            _auditLogService.Verify(x => x.AuditParentCompanyGuarantee(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <bool>()), Times.Once);
            _updateRepository.Verify(x => x.UpdateParentCompanyGuarantee(It.IsAny <Guid>(), It.IsAny <bool>(), It.IsAny <string>()), Times.Never);
            _updateRepository.Verify(x => x.WriteFieldChangesToAuditLog(It.IsAny <AuditData>()), Times.Never);
        }
 public async Task <IActionResult> UpdateParentCompanyGuarantee([FromBody] UpdateOrganisationParentCompanyGuaranteeRequest request)
 {
     return(Ok(await _mediator.Send(request)));
 }
Example #5
0
        public async Task <bool> UpdateOrganisationParentCompanyGuarantee(UpdateOrganisationParentCompanyGuaranteeRequest request)
        {
            HttpStatusCode result = await Put <UpdateOrganisationParentCompanyGuaranteeRequest>($"/api/v1/updateOrganisation/parentCompanyGuarantee", request);

            return(await Task.FromResult(result == HttpStatusCode.OK));
        }