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

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