public void PerformQueryTest(EAccessMode access, string content, string image)
        {
            var model  = new UpdatePostRequestModel("id", access, content, image);
            var actual = model.PerformQuery();

            var expected = new JObject
            {
                ["post"] = new JObject
                {
                    ["access"]  = access == EAccessMode.None ? string.Empty : access.ToString(),
                    ["content"] = content,
                    ["image"]   = !string.IsNullOrWhiteSpace(image) ? "data:image/gif;base64," + image : string.Empty
                }
            };

            Assert.IsTrue(JToken.DeepEquals(actual, expected));
        }
Beispiel #2
0
        public CreateSimplePostRequestModel(string market, EAccessMode access, string content, string image)
        {
            if (string.IsNullOrWhiteSpace(image) && string.IsNullOrWhiteSpace(content))
            {
                throw new ArgumentNullException(nameof(content) + " or " + nameof(image));
            }

            if (access == EAccessMode.None)
            {
                throw new ArgumentNullException(nameof(access));
            }

            Market  = market;
            Content = content;
            Image   = image;
            Access  = access.ToString();

            ApiPath        = "/api/v3/posts";
            Method         = ERestCommands.POST;
            ResponseModule = EResponseModule.CreatePost;
        }
        public void PerformQueryTest(string quote, string market, EBuySell recommend, string price,
                                     EAccessMode access, string content, string forecast, string file)
        {
            CreatePostRequestModel model = new CreatePostRequestModel(quote, market, recommend, price, access, content, forecast, file);
            var actual = model.PerformQuery();

            foreach (var item in typeof(CreatePostRequestModel).GetRuntimeMethods())
            {
                var res = item.GetParameters();
                if (item.Name.Equals("GetStringForecastTime") && item.GetParameters().First().ParameterType == typeof(string))
                {
                    forecast = item.Invoke(model, new object[] { forecast }) as string;
                    break;
                }
            }

            var expected = new JObject
            {
                ["quote"]     = quote,
                ["market"]    = market,
                ["recommend"] = recommend == EBuySell.None ? string.Empty : recommend.ToString(),
                ["access"]    = access == EAccessMode.None ? string.Empty : access.ToString(),
                ["forecast"]  = forecast
            };

            if (!string.IsNullOrWhiteSpace(price))
            {
                expected["price"] = price;
            }
            if (!string.IsNullOrWhiteSpace(file))
            {
                expected["image"] = "data:image/gif;base64," + file;
            }
            if (!string.IsNullOrWhiteSpace(content))
            {
                expected["content"] = content;
            }

            Assert.IsTrue(JToken.DeepEquals(actual, expected));
        }
Beispiel #4
0
        public void PerformQueryTest(string market, EAccessMode access, string content, string image)
        {
            var model  = new CreateSimplePostRequestModel(market, access, content, image);
            var actual = model.PerformQuery();

            var expected = new JObject
            {
                ["market"] = market,
                ["access"] = access == EAccessMode.None ? string.Empty : access.ToString()
            };

            if (!string.IsNullOrWhiteSpace(image))
            {
                expected["image"] = "data:image/gif;base64," + image;
            }
            if (!string.IsNullOrWhiteSpace(content))
            {
                expected["content"] = content;
            }

            Assert.IsTrue(JToken.DeepEquals(actual, expected));
        }
Beispiel #5
0
        public UpdatePostRequestModel(string id, EAccessMode access, string content, string image)
        {
            if (string.IsNullOrWhiteSpace(image) && string.IsNullOrWhiteSpace(content))
            {
                throw new ArgumentNullException(nameof(content) + " or " + nameof(image));
            }

            if (string.IsNullOrWhiteSpace(id))
            {
                throw new ArgumentNullException(nameof(id));
            }

            if (access == EAccessMode.None)
            {
                throw new ArgumentNullException(nameof(access));
            }

            Content = content;
            Image   = image;
            Access  = access.ToString();

            ApiPath = "/api/v3/posts/" + id;
            Method  = ERestCommands.PUT;
        }
Beispiel #6
0
        public static string GetLocaleStringFromEnum(this EAccessMode recommend)
        {
            var result = Locale.Localization.Lang.GetType().GetRuntimeProperty(recommend.ToString()).GetValue(Locale.Localization.Lang) as string;

            return(result);
        }