public void ShouldCreateRequestWithPassedCampaignIdAndDefaultPollingConfiguration() { // arrange var configurationProvider = Substitute.For <IConfigurationProvider>(); var campaignId = Guid.NewGuid().ToString(); var configuration = new Configuration { PollingConfiguration = new PollingConfiguration { DefaultTimeInterval = TimeSpan.FromSeconds(15.0), DefaultAttemptsCount = 4 } }; configurationProvider.GetConfiguration().Returns(configuration); // act var customAudiencesRequestBuilder = new CampaignCustomAudiencesRequestBuilder(configurationProvider, campaignId); var customAudiencesRequest = customAudiencesRequestBuilder.WithPolling().Create(); // assert customAudiencesRequest.Should().NotBeNull(); customAudiencesRequest.Configuration.Should().NotBeNull(); customAudiencesRequest.Configuration.CampaignId.Should().Be(campaignId); customAudiencesRequest.Configuration.Polling.Should().NotBeNull(); customAudiencesRequest.Configuration.Polling.Enabled.Should().BeTrue(); customAudiencesRequest.Configuration.Polling.Attempts.Should().Be(configuration.PollingConfiguration.DefaultAttemptsCount); customAudiencesRequest.Configuration.Polling.Interval.Should().Be(configuration.PollingConfiguration.DefaultTimeInterval); }
public void ShouldCreateRequestWithPassedCampaignIdSpecifiedPollingConfiguration() { // arrange var configurationProvider = Substitute.For <IConfigurationProvider>(); var campaignId = Guid.NewGuid().ToString(); var configuration = new Configuration { PollingConfiguration = new PollingConfiguration { DefaultTimeInterval = TimeSpan.FromSeconds(15.0), DefaultAttemptsCount = 4 } }; var expectedPollingRequestConfiguration = new PollingRequestConfiguration { Enabled = true, Attempts = 6, Interval = TimeSpan.FromSeconds(10.0) }; configurationProvider.GetConfiguration().Returns(configuration); // act var customAudiencesRequestBuilder = new CampaignCustomAudiencesRequestBuilder(configurationProvider, campaignId); var customAudiencesRequest = customAudiencesRequestBuilder .WithPolling(polling => polling .Interval(expectedPollingRequestConfiguration.Interval) .Attempts(expectedPollingRequestConfiguration.Attempts)) .Create(); // assert customAudiencesRequest.Should().NotBeNull(); customAudiencesRequest.Configuration.Should().NotBeNull(); customAudiencesRequest.Configuration.CampaignId.Should().Be(campaignId); customAudiencesRequest.Configuration.Polling.Should().NotBeNull(); customAudiencesRequest.Configuration.Polling.ShouldBeEquivalentTo(expectedPollingRequestConfiguration); }