public void FacebookUserMapper_MapUser_ShouldMapAllFields() { dynamic picture = new ExpandoObject(); picture.data = new ExpandoObject(); picture.data.url = "https://image.com/aJfdhdndgKD"; var model = new UserProfileResponse { Email = "*****@*****.**", UserId = "11010102919819294", Name = "Name Surname", Picture = picture }; var result = FacebookUserMapper.MapUser(model); Assert.AreEqual(model.Email, result.Email); Assert.AreEqual(model.UserId, result.UserId); Assert.AreEqual(model.Name, result.FullName); Assert.AreEqual(model.ImageUrl, result.ImageUrl); }
private async Task <IFacebookUser> ProfileRequestAsync(HttpClient client, string token) { string pictureDimentions = string.Empty; if (this.configuration.ProfilePictureWidth.HasValue && this.configuration.ProfilePictureHeight.HasValue) { pictureDimentions = $".width({this.configuration.ProfilePictureWidth.Value}).height({this.configuration.ProfilePictureHeight.Value})"; } Uri profileUri = new Uri($"{this.apiUrl}me?access_token={token}&fields=email,name,picture{pictureDimentions}"); HttpResponseMessage response = await client.GetAsync(profileUri); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); UserProfileResponse profileResponse = JsonConvert.DeserializeObject <UserProfileResponse>(content); return(FacebookUserMapper.MapUser(profileResponse)); } throw new FacebookApiException("ProfileRequestAsync: the response is not succeded."); }
public void FacebookUserMapper_MapUser_NullModel_ShouldThrow() { Assert.ThrowsException <ArgumentNullException>(() => FacebookUserMapper.MapUser(null)); }