Exemplo n.º 1
0
        public async Task ThenItShouldSerializeRequests(DateTime changedSince)
        {
            await _client.GetProvidersChangedSinceAsync(changedSince, CancellationToken.None);

            _requestSerializer.Verify(serializer => serializer.Serialize(It.IsAny <ProviderQueryRequest>()),
                                      Times.Exactly(4));
            _requestSerializer.Verify(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>(
                                                                             request => !string.IsNullOrEmpty(request.QueryId) &&
                                                                             request.SelectionCriteria != null &&
                                                                             request.SelectionCriteria.ProviderUpdatedSince == changedSince &&
                                                                             request.SelectionCriteria.CriteriaCondition == CriteriaConditionEnum.OR &&
                                                                             request.SelectionCriteria.ProviderStatus == ProviderStatusEnum.A &&
                                                                             request.SelectionCriteria.ApprovedProvidersOnly == ApprovedProvidersOnlyEnum.No &&
                                                                             request.SelectionCriteria.StakeholderId == _configuration.StakeholderId)),
                                      Times.Once);
            _requestSerializer.Verify(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>(
                                                                             request => !string.IsNullOrEmpty(request.QueryId) &&
                                                                             request.SelectionCriteria != null &&
                                                                             request.SelectionCriteria.ProviderUpdatedSince == changedSince &&
                                                                             request.SelectionCriteria.CriteriaCondition == CriteriaConditionEnum.OR &&
                                                                             request.SelectionCriteria.ProviderStatus == ProviderStatusEnum.V &&
                                                                             request.SelectionCriteria.ApprovedProvidersOnly == ApprovedProvidersOnlyEnum.No &&
                                                                             request.SelectionCriteria.StakeholderId == _configuration.StakeholderId)),
                                      Times.Once);
            _requestSerializer.Verify(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>(
                                                                             request => !string.IsNullOrEmpty(request.QueryId) &&
                                                                             request.SelectionCriteria != null &&
                                                                             request.SelectionCriteria.ProviderUpdatedSince == changedSince &&
                                                                             request.SelectionCriteria.CriteriaCondition == CriteriaConditionEnum.OR &&
                                                                             request.SelectionCriteria.ProviderStatus == ProviderStatusEnum.PD1 &&
                                                                             request.SelectionCriteria.ApprovedProvidersOnly == ApprovedProvidersOnlyEnum.No &&
                                                                             request.SelectionCriteria.StakeholderId == _configuration.StakeholderId)),
                                      Times.Once);
            _requestSerializer.Verify(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>(
                                                                             request => !string.IsNullOrEmpty(request.QueryId) &&
                                                                             request.SelectionCriteria != null &&
                                                                             request.SelectionCriteria.ProviderUpdatedSince == changedSince &&
                                                                             request.SelectionCriteria.CriteriaCondition == CriteriaConditionEnum.OR &&
                                                                             request.SelectionCriteria.ProviderStatus == ProviderStatusEnum.PD2 &&
                                                                             request.SelectionCriteria.ApprovedProvidersOnly == ApprovedProvidersOnlyEnum.No &&
                                                                             request.SelectionCriteria.StakeholderId == _configuration.StakeholderId)),
                                      Times.Once);
        }