Exemple #1
0
        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.");
        }
Exemple #3
0
 public void FacebookUserMapper_MapUser_NullModel_ShouldThrow()
 {
     Assert.ThrowsException <ArgumentNullException>(() => FacebookUserMapper.MapUser(null));
 }