Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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)));
 }
Exemplo n.º 5
0
        public async Task <bool> UpdateOrganisationCharityNumber(UpdateOrganisationCharityNumberRequest request)
        {
            HttpStatusCode result = await Put <UpdateOrganisationCharityNumberRequest>($"/api/v1/updateOrganisation/charityNumber", request);

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