public CampaignCompletionServiceTestsFixture IncreaseCompletionCount()
        {
            CampaignCompletionRepositoryMock.Setup(c => c.UpdateAsync(It.IsAny <CampaignCompletion>()))
            .Returns(Task.CompletedTask);

            ConditionCompletionServiceMock.Setup(c => c.DeleteAsync(It.IsAny <IEnumerable <ConditionCompletion> >()))
            .Returns(Task.CompletedTask);

            return(this);
        }
Exemplo n.º 2
0
        public CampaignServiceBonusProcessingTestsFixture SetupConditionRewardMocks()
        {
            // Condition Reward Mocks
            ConditionCompletionServiceMock
            .Setup(c => c.SetConditionCompletedAsync(It.IsAny <string>()))
            .Callback(() => { NewConditionCompletion.IsCompleted = true; })
            .Returns(Task.CompletedTask);

            BonusOperationServiceMock
            .Setup(c => c.AddBonusOperationAsync(It.IsAny <BonusOperation>()))
            .Returns(Task.CompletedTask);

            return(this);
        }
Exemplo n.º 3
0
        public CampaignServiceBonusProcessingTestsFixture SetupConditionProcessingMocks()
        {
            // Condition Mocks
            ConditionCompletionServiceMock
            .Setup(c => c.InsertAsync(It.IsAny <ConditionCompletion>()))
            .ReturnsAsync("Id");

            ConditionCompletionServiceMock
            .Setup(c => c.IncreaseCompletionCountAsync(It.IsAny <ConditionCompletion>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <int>()))
            .Callback(() => { NewConditionCompletion.CurrentCount++; })
            .ReturnsAsync(NewConditionCompletion);

            return(this);
        }
Exemplo n.º 4
0
        private void SetupCommonMocks()
        {
            CampaignCompletionServiceMock.Setup(c => c.GetByCampaignAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(() =>
            {
                _currentCampaignCompletion++;
                return(CampaignCompletions[_currentCampaignCompletion - 1]);
            });

            ConditionCompletionServiceMock
            .Setup(c => c.GetConditionCompletionsAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(() => ConditionCompletions.AsReadOnly());

            ConditionCompletionServiceMock
            .Setup(c => c.GetConditionCompletionAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync((string customerId, string conditionId) =>
            {
                return(ConditionCompletions.FirstOrDefault(x =>
                                                           x.CustomerId == customerId && x.ConditionId == conditionId)
                       ?? new ConditionCompletion());
            });

            ConditionCompletionServiceMock
            .Setup(c => c.IncreaseOrCreateAsync(It.IsAny <string>(), It.IsAny <ConditionCompletion>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <Condition>()))
            .ReturnsAsync(() =>
            {
                NewConditionCompletion.CurrentCount++;
                return(NewConditionCompletion);
            });

            CampaignCompletionServiceMock.Setup(c =>
                                                c.IncreaseCompletionCountAsync(It.IsAny <CampaignCompletion>(), It.IsAny <CampaignModel>(), It.IsAny <IEnumerable <ConditionCompletion> >()))
            .Returns(Task.CompletedTask);

            BonusCalculatorServiceMock
            .Setup(c => c.CalculateRewardAmountAsync(It.IsAny <CampaignModel>(),
                                                     It.IsAny <string>(), It.IsAny <IEnumerable <ConditionCompletion> >()))
            .ReturnsAsync((CampaignModel campaign, string customerId, IEnumerable <ConditionCompletion> conditionCompletions) => campaign.Reward);
        }