Exemple #1
0
        public async Task Then_The_IncentivesApi_Is_Called_Returning_The_Response(
            GetLatestVendorRegistrationCaseUpdateDateTimeResponse apiResponse,
            [Frozen] Mock <IEmployerIncentivesApiClient <EmployerIncentivesConfiguration> > client,
            EmployerIncentivesService service
            )
        {
            client.Setup(x =>
                         x.Get <GetLatestVendorRegistrationCaseUpdateDateTimeResponse>(
                             It.IsAny <GetLatestVendorRegistrationCaseUpdateDateTimeRequest>()))
            .ReturnsAsync(apiResponse);

            var actual = await service.GetLatestVendorRegistrationCaseUpdateDateTime();

            actual.Should().BeEquivalentTo(apiResponse);
        }
        public async Task Then_data_is_fetched_via_data_repository()
        {
            //Arrange
            var query            = _fixture.Create <GetLatestVendorRegistrationCaseUpdateDateTimeRequest>();
            var expected         = _fixture.Create <DateTime>();
            var expectedResponse = new GetLatestVendorRegistrationCaseUpdateDateTimeResponse {
                LastUpdateDateTime = expected
            };

            _repository.Setup(x => x.GetLatestVendorRegistrationCaseUpdateDateTime()).ReturnsAsync(expected);

            //Act
            var result = await _sut.Handle(query, CancellationToken.None);

            //Assert
            result.Should().BeEquivalentTo(expectedResponse);
        }
        public async Task Then_data_is_returned_from_the_query()
        {
            // Arrange
            var expected = new GetLatestVendorRegistrationCaseUpdateDateTimeResponse {
                LastUpdateDateTime = _fixture.Create <DateTime>()
            };

            _queryDispatcherMock.Setup(x => x.Send <GetLatestVendorRegistrationCaseUpdateDateTimeRequest, GetLatestVendorRegistrationCaseUpdateDateTimeResponse>(
                                           It.IsAny <GetLatestVendorRegistrationCaseUpdateDateTimeRequest>())).ReturnsAsync(expected);

            // Act
            var actual = await _sut.GetLatestVendorRegistrationCaseUpdateDateTime() as OkObjectResult;

            // Assert
            actual?.Value.Should().NotBeNull();
            if (actual != null)
            {
                ((GetLatestVendorRegistrationCaseUpdateDateTimeResponse)actual.Value).LastUpdateDateTime.Should().Be(expected.LastUpdateDateTime);
            }
        }
        public async Task And_response_with_SkipCode_returned_from_FinanceAPI_Then_a_call_is_made_using_skiptoken_parameter(
            [Frozen] Mock <ICustomerEngagementFinanceService> financeService,
            RefreshVendorRegistrationFormCaseStatusCommandHandler handler,
            GetLatestVendorRegistrationCaseUpdateDateTimeResponse lastUpdateResponse,
            string skipCode)
        {
            var command = new RefreshVendorRegistrationFormCaseStatusCommand(lastUpdateResponse.LastUpdateDateTime.Value);

            financeService.Setup(x => x.GetVendorRegistrationCasesByLastStatusChangeDate(lastUpdateResponse.LastUpdateDateTime.Value,
                                                                                         lastUpdateResponse.LastUpdateDateTime.Value.AddDays(1), null))
            .ReturnsAsync(new GetVendorRegistrationCaseStatusUpdateResponse {
                SkipCode = skipCode
            });
            financeService.Setup(x => x.GetVendorRegistrationCasesByLastStatusChangeDate(lastUpdateResponse.LastUpdateDateTime.Value,
                                                                                         lastUpdateResponse.LastUpdateDateTime.Value.AddDays(1), skipCode))
            .ReturnsAsync(new GetVendorRegistrationCaseStatusUpdateResponse());

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

            financeService.Verify(x => x.GetVendorRegistrationCasesByLastStatusChangeDate(lastUpdateResponse.LastUpdateDateTime.Value,
                                                                                          lastUpdateResponse.LastUpdateDateTime.Value.AddDays(1), null), Times.Once);
            financeService.Verify(x => x.GetVendorRegistrationCasesByLastStatusChangeDate(lastUpdateResponse.LastUpdateDateTime.Value,
                                                                                          lastUpdateResponse.LastUpdateDateTime.Value.AddDays(1), skipCode), Times.Once);
        }