/// <summary> /// Initializes a new instance of the <see cref="RemoveUsersFromCustomAudienceRequest"/> class. /// </summary> /// <param name="customAudienceId">The custom audience identifier.</param> /// <param name="updateUsersInCustomAudienceConfiguration">The update users in custom audience configuration.</param> public RemoveUsersFromCustomAudienceRequest(string customAudienceId, UpdateUsersInCustomAudienceConfiguration updateUsersInCustomAudienceConfiguration) { this.Configuration = new UpdateUsersInCustomAudienceRequestConfiguration { CustomAudienceId = customAudienceId, Users = updateUsersInCustomAudienceConfiguration }; }
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 removeUsersRequestBuilder = new RemoveUsersFromCustomAudienceRequestBuilder(configurationProvider, customAudienceId, updateUsersConfiguration); var removeUsersRequest = removeUsersRequestBuilder .WithPolling(polling => polling .Interval(expectedPollingRequestConfiguration.Interval) .Attempts(expectedPollingRequestConfiguration.Attempts)) .Create(); // assert removeUsersRequest.Should().NotBeNull(); removeUsersRequest.Configuration.Should().NotBeNull(); removeUsersRequest.Configuration.Users.Should().NotBeNull(); removeUsersRequest.Configuration.Users.ShouldBeEquivalentTo(updateUsersConfiguration); removeUsersRequest.Configuration.Polling.Should().NotBeNull(); removeUsersRequest.Configuration.Polling.ShouldBeEquivalentTo(expectedPollingRequestConfiguration); }
public void ShouldCreateConfigurationWithPhoneNumbersAndWithoutHashing() { // arrange var expectedConfiguration = new UpdateUsersInCustomAudienceConfiguration { Data = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }, DataType = UpdateUsersInCustomAudienceDataType.PhoneNumbers }; // act var updateUsersBuilder = new UpdateUsersInCustomAudienceBuilder(); var updateUsersConfiguration = updateUsersBuilder .PhoneNumbers(expectedConfiguration.Data) .Create(); // assert updateUsersConfiguration.Should().NotBeNull(); updateUsersConfiguration.ShouldBeEquivalentTo(expectedConfiguration); }
public void ShouldCreateConfigurationWithFacebookIdsAndFacebookApplicationIds() { // arrange var expectedConfiguration = new UpdateUsersInCustomAudienceConfiguration { Data = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }, FacebookApplicationsIds = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }, DataType = UpdateUsersInCustomAudienceDataType.FacebookIds }; // act var updateUsersBuilder = new UpdateUsersInCustomAudienceBuilder(); var updateUsersConfiguration = updateUsersBuilder .FacebookIds(expectedConfiguration.Data) .FacebookApplicationsIds(expectedConfiguration.FacebookApplicationsIds) .Create(); // assert updateUsersConfiguration.Should().NotBeNull(); updateUsersConfiguration.ShouldBeEquivalentTo(expectedConfiguration); }
public void ShouldCreateRequestWithPassedDataAndDefaultPollingConfiguration() { // 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) } }; configurationProvider.GetConfiguration().Returns(configuration); // act var addUsersRequestBuilder = new AddUsersToCustomAudienceRequestBuilder(configurationProvider, customAudienceId, updateUsersConfiguration); var addUsersRequest = addUsersRequestBuilder.WithPolling().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().BeTrue(); addUsersRequest.Configuration.Polling.Attempts.Should().Be(configuration.PollingConfiguration.DefaultAttemptsCount); addUsersRequest.Configuration.Polling.Interval.Should().Be(configuration.PollingConfiguration.DefaultTimeInterval); }
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 removeUsersRequestBuilder = new RemoveUsersFromCustomAudienceRequestBuilder(configurationProvider, customAudienceId, updateUsersConfiguration); var removeUsersRequest = removeUsersRequestBuilder.Create(); // assert removeUsersRequest.Should().NotBeNull(); removeUsersRequest.Configuration.Should().NotBeNull(); removeUsersRequest.Configuration.Users.Should().NotBeNull(); removeUsersRequest.Configuration.Users.ShouldBeEquivalentTo(updateUsersConfiguration); removeUsersRequest.Configuration.Polling.Should().NotBeNull(); removeUsersRequest.Configuration.Polling.Enabled.Should().BeFalse(); }
/// <summary> /// Initializes a new instance of the <see cref="AddUsersToCustomAudienceRequestBuilder"/> class. /// </summary> /// <param name="configurationProvider">The configuration provider.</param> /// <param name="customAudienceId">The custom audience identifier.</param> /// <param name="updateUsersInCustomAudienceConfiguration">The update users in custom audience configuration.</param> public AddUsersToCustomAudienceRequestBuilder(IConfigurationProvider configurationProvider, string customAudienceId, UpdateUsersInCustomAudienceConfiguration updateUsersInCustomAudienceConfiguration) : base(configurationProvider) { this.Request = new AddUsersToCustomAudienceRequest(customAudienceId, updateUsersInCustomAudienceConfiguration); }