public async Task AccountSettingsTestsAsync() { if (!EndToEndTestConfig.ShouldRunEndToEndTests) { return; } var initialSettings = await _protectedClient.AccountSettings.GetAccountSettingsAsync(); var newSettings = new UpdateAccountSettingsParameters { DisplayLanguage = DisplayLanguages.Spanish, SleepTimeEnabled = !initialSettings.SleepTimeEnabled, StartSleepHour = 23, EndSleepHour = 7, TimeZone = TimeZoneFromTwitter.Bangkok.ToTZinfo(), TrendLocationWoeid = 580778 }; var updatedSettings = await _protectedClient.AccountSettings.UpdateAccountSettingsAsync(newSettings); var recoveredSettings = await _protectedClient.AccountSettings.UpdateAccountSettingsAsync(new UpdateAccountSettingsParameters { DisplayLanguage = initialSettings.Language, TimeZone = initialSettings.TimeZone.TzinfoName, SleepTimeEnabled = initialSettings.SleepTimeEnabled, StartSleepHour = initialSettings.StartSleepHour, EndSleepHour = initialSettings.EndSleepHour, TrendLocationWoeid = initialSettings.TrendLocations.FirstOrDefault()?.WoeId ?? 1 }); // assert Assert.Equal(Language.Spanish, updatedSettings.Language); Assert.NotEqual(initialSettings.Language, updatedSettings.Language); Assert.Equal(initialSettings.Language, recoveredSettings.Language); Assert.Equal(TimeZoneFromTwitter.Bangkok.ToTZinfo(), updatedSettings.TimeZone.Name); Assert.NotEqual(initialSettings.TimeZone.Name, updatedSettings.TimeZone.Name); Assert.Equal(initialSettings.TimeZone.Name, recoveredSettings.TimeZone.Name); Assert.Equal(updatedSettings.SleepTimeEnabled, !initialSettings.SleepTimeEnabled); Assert.Equal(initialSettings.SleepTimeEnabled, recoveredSettings.SleepTimeEnabled); Assert.Equal(23, updatedSettings.StartSleepHour); Assert.NotEqual(initialSettings.StartSleepHour, updatedSettings.StartSleepHour); Assert.Equal(initialSettings.StartSleepHour, recoveredSettings.StartSleepHour); Assert.Equal(7, updatedSettings.EndSleepHour); Assert.NotEqual(initialSettings.StartSleepHour, updatedSettings.StartSleepHour); Assert.Equal(initialSettings.EndSleepHour, recoveredSettings.EndSleepHour); Assert.Equal(580778, updatedSettings.TrendLocations[0].WoeId); Assert.NotEqual(initialSettings.TrendLocations?.FirstOrDefault()?.WoeId, updatedSettings.TrendLocations[0].WoeId); if (initialSettings.TrendLocations != null) { Assert.Equal(initialSettings.TrendLocations[0].WoeId, recoveredSettings.TrendLocations[0].WoeId); } }
public async Task UpdateAccountSettings_ReturnsFromQueryExecutor() { // Arrange var controller = CreateAccountSettingsController(); var parameters = new UpdateAccountSettingsParameters(); var request = A.Fake <ITwitterRequest>(); var twitterResult = A.Fake <ITwitterResult <IAccountSettingsDTO> >(); A.CallTo(() => _fakeAccountSettingsQueryExecutor.UpdateAccountSettings(parameters, request)).Returns(twitterResult); // Act var result = await controller.UpdateAccountSettings(parameters, request); // Assert Assert.Equal(result, twitterResult); }
public async Task UpdateAccountSettings_ReturnsAccountUserDTOAsync() { // Arrange var queryExecutor = CreateAccountSettingsQueryExecutor(); var parameters = new UpdateAccountSettingsParameters(); var url = TestHelper.GenerateString(); var request = A.Fake <ITwitterRequest>(); var expectedResult = A.Fake <ITwitterResult <IAccountSettingsDTO> >(); A.CallTo(() => _fakeAccountSettingsQueryGenerator.GetUpdateAccountSettingsQuery(parameters)).Returns(url); A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <IAccountSettingsDTO>(request)).Returns(expectedResult); // Act var result = await queryExecutor.UpdateAccountSettingsAsync(parameters, request); // Assert Assert.Equal(result, expectedResult); Assert.Equal(request.Query.Url, url); Assert.Equal(HttpMethod.POST, request.Query.HttpMethod); }
public void GetUpdateAccountSettingsQuery_ReturnsExpectedQuery() { // arrange var queryGenerator = CreateAccountSettingsQueryGenerator(); var parameters = new UpdateAccountSettingsParameters { DisplayLanguage = DisplayLanguages.Spanish, SleepTimeEnabled = true, StartSleepHour = 23, EndSleepHour = 7, TimeZone = TimeZoneFromTwitter.Bangkok.ToTZinfo(), TrendLocationWoeid = 580778, CustomQueryParameters = { new Tuple <string, string>("hello", "world") } }; // act var result = queryGenerator.GetUpdateAccountSettingsQuery(parameters); // assert Assert.Equal(result, $"https://api.twitter.com/1.1/account/settings.json?lang=es&time_zone=Asia%2FBangkok&sleep_time_enabled=true&start_sleep_time=23&end_sleep_time=07&trend_location_woeid=580778&hello=world"); }