public async Task ProcessMessageAsync_CampaignsContributionDoesNotExist_CustomerProfileNotUpdated() { var campaignServiceMock = new Mock <ICampaignService>(); var customerProfileServiceMock = new Mock <ICustomerProfileService>(); campaignServiceMock.Setup(c => c.DoesCampaignsContributionExistAsync(It.IsAny <Guid>(), It.IsAny <Guid>())) .ReturnsAsync(false); campaignServiceMock.Setup(c => c.InsertAsync(It.IsAny <CampaignsContributionModel>())) .ReturnsAsync(Guid.NewGuid().ToString()); customerProfileServiceMock.Setup(c => c.ProcessParticipatedInCampaignEvent(It.IsAny <Guid>())) .Returns(Task.CompletedTask); var subscriber = new ParticipatedInCampaignSubscriber("test", "test", EmptyLogFactory.Instance, campaignServiceMock.Object, customerProfileServiceMock.Object); await subscriber.ProcessMessageAsync(new ParticipatedInCampaignEvent() { CampaignId = Guid.NewGuid().ToString(), CustomerId = Guid.NewGuid().ToString() }); campaignServiceMock.Verify(c => c.InsertAsync(It.IsAny <CampaignsContributionModel>()), Times.Once); customerProfileServiceMock.Verify(c => c.ProcessParticipatedInCampaignEvent(It.IsAny <Guid>()), Times.Once); }
public async Task ProcessMessageAsync_NotValidIdentifiersPassed_EventIsProcessed() { var campaignServiceMock = new Mock <ICampaignService>(); var customerProfileServiceMock = new Mock <ICustomerProfileService>(); var subscriber = new ParticipatedInCampaignSubscriber( "test", "test", EmptyLogFactory.Instance, campaignServiceMock.Object, customerProfileServiceMock.Object); await subscriber.StartProcessingAsync(new ParticipatedInCampaignEvent() { CampaignId = Guid.NewGuid().ToString("D"), CustomerId = Guid.NewGuid().ToString("D") }); campaignServiceMock.Verify( c => c.DoesCampaignsContributionExistAsync(It.IsAny <Guid>(), It.IsAny <Guid>()), Times.Once); }
public async Task ProcessMessageAsync_AllIdentifiersInvalidArePassed_EventIsNotProcessed() { var campaignServiceMock = new Mock <ICampaignService>(); var customerProfileServiceMock = new Mock <ICustomerProfileService>(); var subscriber = new ParticipatedInCampaignSubscriber( "test", "test", EmptyLogFactory.Instance, campaignServiceMock.Object, customerProfileServiceMock.Object); await subscriber.StartProcessingAsync(new ParticipatedInCampaignEvent() { CampaignId = "not valid", CustomerId = "not valid" }); campaignServiceMock.Verify( c => c.DoesCampaignsContributionExistAsync(It.IsAny <Guid>(), It.IsAny <Guid>()), Times.Never); }