public void SetDevice_HttpContext_UserPerference_ReturnsExpected()
        {
            var    context              = new DefaultHttpContext();
            var    preference           = new UserPerference();
            string responsiveContextKey = "Responsive"; // May be we can make this constant public for testing purposes.

            context.SetDevice(preference);

            Assert.True(context.Items.ContainsKey(responsiveContextKey));
            Assert.Same(preference, context.Items[responsiveContextKey]);
        }
Example #2
0
        public static void SetDevice(this HttpContext context, UserPerference perference)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (perference == null)
            {
                throw new ArgumentNullException(nameof(perference));
            }

            context.Items[ResponsiveContextKey] = perference;
        }
        public void GetDevice_HttpContext_ReturnsExpected()
        {
            string device     = DeviceType.Tablet.ToString();
            var    preference = new UserPerference()
            {
                Resolver = device
            };
            var context = new DefaultHttpContext();

            context.SetDevice(preference);

            Assert.Same(preference, context.GetDevice());
            Assert.Same(preference.Resolver, context.GetDevice().Resolver);
        }
        /// <summary>
        /// Updates the perference async.
        /// </summary>
        /// <returns>The perference async.</returns>
        /// <param name="receiveMessageSource">Receive message source.</param>
        /// <param name="acceptConversationSource">Accept conversation source.</param>
        public async Task <UserInfo> UpdatePerferenceAsync(string receiveMessageSource, string acceptConversationSource)
        {
            const string req = "/me/preferences";

            UserPerference p = new UserPerference
            {
                receive_message_source     = receiveMessageSource,
                accept_conversation_source = acceptConversationSource
            };

            var rz = await doPostRequestAsync(req, p, true);

            return(JsonConvert.DeserializeObject <UserInfo>(rz));
        }
        public void Preferred_Cookie_over_Resolver()
        {
            var preference = new UserPerference(DeviceType.Mobile, DeviceType.Desktop);

            Assert.Equal("Desktop", preference.Preferred);
        }