public async Task Then_a_RefreshLegalEntityEvent_is_published_for_each_legal_entity_for_a_page()
        {
            //Arrange
            var accountLegalEntities = _fixture.CreateMany <AccountLegalEntity>(10);
            var command = new RefreshLegalEntitiesCommand(accountLegalEntities, pageNumber: 1, pageSize: 10, totalPages: 1);

            //Act
            await _sut.Handle(command);

            //Assert
            _mockEventPublisher.Verify(m => m.Publish(It.Is <RefreshLegalEntityEvent>(e => AssertEventIsExpected(e, command.AccountLegalEntities))), Times.Exactly(10));
        }
        public async Task Then_a_RefreshLegalEntitiesEvent_is_not_published_when_page_number_is_not_1()
        {
            //Arrange
            var accountLegalEntities = _fixture.CreateMany <AccountLegalEntity>(10);
            var command = new RefreshLegalEntitiesCommand(accountLegalEntities, pageNumber: 2, pageSize: 100, totalPages: 3);

            //Act
            await _sut.Handle(command);

            //Assert
            _mockEventPublisher.Verify(m => m.Publish(It.IsAny <List <RefreshLegalEntitiesEvent> >()), Times.Never);
        }
        public async Task Then_a_RefreshLegalEntitiesEvent_is_published_for_each_page_when_page_number_is_1()
        {
            //Arrange
            var accountLegalEntities = _fixture.CreateMany <AccountLegalEntity>(10);
            var command = new RefreshLegalEntitiesCommand(accountLegalEntities, pageNumber: 1, pageSize: 10, totalPages: 3);

            //Act
            await _sut.Handle(command);

            //Assert
            _mockEventPublisher.Verify(m => m.Publish(It.IsAny <RefreshLegalEntitiesEvent>()), Times.Exactly(2));
            _mockEventPublisher.Verify(m => m.Publish(It.Is <RefreshLegalEntitiesEvent>(e => e.PageNumber == 2)), Times.Once);
            _mockEventPublisher.Verify(m => m.Publish(It.Is <RefreshLegalEntitiesEvent>(e => e.PageNumber == 3)), Times.Once);
        }
Beispiel #4
0
        private static RefreshLegalEntitiesCommand ParseJobRequestToRefreshCommand(JobRequest request)
        {
            request.Data.TryGetValue("AccountLegalEntities", out object accountLegalEntitiesRequest);
            request.Data.TryGetValue("PageNumber", out object pageNumberRequest);
            request.Data.TryGetValue("PageSize", out object pageSizeRequest);
            request.Data.TryGetValue("TotalPages", out object totalPagesRequest);
            var accountLegalEntities = JsonConvert.DeserializeObject <IEnumerable <AccountLegalEntity> >(accountLegalEntitiesRequest.ToString());

            int.TryParse(pageNumberRequest.ToString(), out int pageNumber);
            int.TryParse(pageSizeRequest.ToString(), out int pageSize);
            int.TryParse(totalPagesRequest.ToString(), out int totalPages);
            var command = new RefreshLegalEntitiesCommand(accountLegalEntities, pageNumber, pageSize, totalPages);

            return(command);
        }
Beispiel #5
0
        public async Task Then_The_legal_entities_are_refreshed(
            [Frozen] Mock <ILegalEntitiesService> legalEntitiesService,
            [Frozen] Mock <IAccountsService> accountsService,
            RefreshLegalEntitiesCommand command,
            RefreshLegalEntitiesCommandHandler handler)
        {
            var legalEntities = _fixture.CreateMany <AccountLegalEntity>(100).ToList();
            var pagedResponse = new PagedResponse <AccountLegalEntity> {
                Data = legalEntities, Page = command.PageNumber, TotalPages = command.PageNumber
            };

            accountsService.Setup(x => x.GetLegalEntitiesByPage(command.PageNumber, command.PageSize)).ReturnsAsync(pagedResponse);

            await handler.Handle(command, CancellationToken.None);

            accountsService.Verify(x => x.GetLegalEntitiesByPage(command.PageNumber, command.PageSize), Times.Once);
            legalEntitiesService.Verify(x => x.RefreshLegalEntities(pagedResponse.Data, pagedResponse.Page, command.PageSize, pagedResponse.TotalPages), Times.Once);
        }