コード例 #1
0
        public void ShouldCreateRequestWithPassedDataAndSpecifiedPollingConfiguration()
        {
            // arrange
            var configurationProvider    = Substitute.For <IConfigurationProvider>();
            var customAudienceId         = Guid.NewGuid().ToString();
            var updateUsersConfiguration = new UpdateUsersInCustomAudienceConfiguration
            {
                Data = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
                FacebookApplicationsIds = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
            };

            var configuration = new Configuration
            {
                PollingConfiguration = new PollingConfiguration
                {
                    DefaultAttemptsCount = 4,
                    DefaultTimeInterval  = TimeSpan.FromSeconds(15.0)
                }
            };

            var expectedPollingRequestConfiguration = new PollingRequestConfiguration
            {
                Enabled  = true,
                Attempts = 6,
                Interval = TimeSpan.FromSeconds(10.0)
            };

            configurationProvider.GetConfiguration().Returns(configuration);

            // act
            var addUsersRequestBuilder = new AddUsersToCustomAudienceRequestBuilder(configurationProvider, customAudienceId, updateUsersConfiguration);

            var addUsersRequest = addUsersRequestBuilder
                                  .WithPolling(polling => polling
                                               .Interval(expectedPollingRequestConfiguration.Interval)
                                               .Attempts(expectedPollingRequestConfiguration.Attempts))
                                  .Create();

            // assert
            addUsersRequest.Should().NotBeNull();
            addUsersRequest.Configuration.Should().NotBeNull();
            addUsersRequest.Configuration.Users.Should().NotBeNull();
            addUsersRequest.Configuration.Users.ShouldBeEquivalentTo(updateUsersConfiguration);
            addUsersRequest.Configuration.Polling.Should().NotBeNull();
            addUsersRequest.Configuration.Polling.ShouldBeEquivalentTo(expectedPollingRequestConfiguration);
        }
コード例 #2
0
        public void ShouldCreateRequestWithPassedDataAndDisabledPolling()
        {
            // arrange
            var configurationProvider    = Substitute.For <IConfigurationProvider>();
            var customAudienceId         = Guid.NewGuid().ToString();
            var updateUsersConfiguration = new UpdateUsersInCustomAudienceConfiguration
            {
                Data = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
                FacebookApplicationsIds = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
            };

            // act
            var addUsersRequestBuilder = new AddUsersToCustomAudienceRequestBuilder(configurationProvider, customAudienceId, updateUsersConfiguration);

            var addUsersRequest = addUsersRequestBuilder.Create();

            // assert
            addUsersRequest.Should().NotBeNull();
            addUsersRequest.Configuration.Should().NotBeNull();
            addUsersRequest.Configuration.Users.Should().NotBeNull();
            addUsersRequest.Configuration.Users.ShouldBeEquivalentTo(updateUsersConfiguration);
            addUsersRequest.Configuration.Polling.Should().NotBeNull();
            addUsersRequest.Configuration.Polling.Enabled.Should().BeFalse();
        }