Exemple #1
0
 public void CreateInvalidPostWithoutTools(EBuySell buySellCancel, EForecastTime forecastTime, EAccess eAccess, string text)
 {
     appManager.NavigationHelper.GoToCreatePostOnNewsTab();
     appManager.CreatePostHelper.SelectInformationForCreatePost(buySellCancel, forecastTime, eAccess, text).
     CreatePostOnCreatePostScreen().
     ChekNoCreationsPosts();
 }
Exemple #2
0
 private bool IsForecastTimeSelected(EForecastTime timePeriod)
 {
     if (timePeriod != EForecastTime.None)
     {
         return(true);
     }
     return(false);
 }
        public void ForecastTimeSelectedEnumSuccessTest(EForecastTime time)
        {
            _presenterMock.Setup(f => f.ForecastTimeState(EState.None));

            _interactor.ForecastTimeSelected(time);

            _presenterMock.Verify(f => f.ForecastTimeState(EState.None));
        }
        public void GetStringForecastTimeFromEnumTest(EForecastTime time)
        {
            CreatePostRequestModel model = new CreatePostRequestModel("BMW", string.Empty, EBuySell.Sell, "10.4", EAccessMode.Private, "Content", time);

            var actual = typeof(CreatePostRequestModel).GetRuntimeProperties().First(f => f.Name.Equals("Forecast"));

            string expected = GetForecastTimeString(time);

            string act = actual.GetValue(model).ToString();

            Assert.AreEqual(expected, act);
        }
Exemple #5
0
        private string GetStringForecastTime(EForecastTime time)
        {
            var result = string.Empty;

            if (time == EForecastTime.None || time == EForecastTime.Other)
            {
                return(result);
            }

            var dateTime = GetForecastTime(time);

            //TODO needs tests
            result = dateTime.ToString("yyyy-MM-dd") + "T" + dateTime.ToString("HH:mm:ss") + ".000Z";

            return(result);
        }
        private string GetForecastTimeString(EForecastTime time)
        {
            string result = string.Empty;

            DateTime dateTime = DateTime.UtcNow;

            switch (time)
            {
            case EForecastTime.Minute15:
                dateTime = dateTime.AddMinutes(15);
                break;

            case EForecastTime.Minute30:
                dateTime = dateTime.AddMinutes(30);
                break;

            case EForecastTime.Hour1:
                dateTime = dateTime.AddHours(1);
                break;

            case EForecastTime.Hour4:
                dateTime = dateTime.AddHours(4);
                break;

            case EForecastTime.Hour8:
                dateTime = dateTime.AddHours(8);
                break;

            case EForecastTime.Hour24:
                dateTime = dateTime.AddDays(1);
                break;

            case EForecastTime.Week1:
                dateTime = dateTime.AddDays(7);
                break;

            default:
                return(result);
            }

            result = dateTime.ToString("yyyy-MM-dd") + "T" + dateTime.ToString("HH:mm:ss") + ".000Z";

            return(result);
        }
Exemple #7
0
        private DateTime GetForecastTime(EForecastTime time)
        {
            var forecast = DateTime.UtcNow;

            switch (time)
            {
            case EForecastTime.Minute15:
                forecast = forecast.AddMinutes(15);
                break;

            case EForecastTime.Minute30:
                forecast = forecast.AddMinutes(30);
                break;

            case EForecastTime.Hour1:
                forecast = forecast.AddHours(1);
                break;

            case EForecastTime.Hour4:
                forecast = forecast.AddHours(4);
                break;

            case EForecastTime.Hour8:
                forecast = forecast.AddHours(8);
                break;

            case EForecastTime.Hour24:
                forecast = forecast.AddDays(1);
                break;

            case EForecastTime.Week1:
                forecast = forecast.AddDays(7);
                break;

            default:
                return(forecast);
            }

            return(forecast);
        }
Exemple #8
0
 // Проверить нужен данныей метод или нет
 public CreatePostHelper SelectInformationForCreatePost(EBuySell buySellCancel, EForecastTime forecastTime, EAccess eAccess, string text)
 {
     SelectBuySell(buySellCancel);
     SelectTime(forecastTime);
     SelectAccess(eAccess);
     appManager.App.EnterText(appManager.CreatePostScreen.createPost_comment_editText, text);
     return(this);
 }
Exemple #9
0
        private CreatePostHelper SelectTime(EForecastTime forecastTime) // прости меня за этот код
        {
            appManager.App.Tap(appManager.CreatePostScreen.createPost_time_textView);
            switch (forecastTime)
            {
            case EForecastTime.Minute15:
                if (OnAndroid)
                {
                    appManager.App.Tap(appManager.AlertScreens.button1_on_alert);
                }
                else
                {
                    appManager.App.Tap(appManager.CreatePostScreen.createPost_forecastTime_15m_ios);
                    appManager.App.Tap(appManager.AlertScreens.ok_on_alert);
                }
                break;

            case EForecastTime.Minute30:
                if (OnAndroid)
                {
                    appManager.App.Tap(appManager.AlertScreens.button2_on_alert);
                }
                else
                {
                    appManager.App.Tap(appManager.CreatePostScreen.createPost_forecastTime_30m_ios);
                    appManager.App.Tap(appManager.AlertScreens.ok_on_alert);
                }
                break;

            case EForecastTime.Hour1:
                if (OnAndroid)
                {
                    appManager.App.Tap(appManager.AlertScreens.button3_on_alert);
                }
                else
                {
                    appManager.App.Tap(appManager.CreatePostScreen.createPost_forecastTime_1h_ios);
                    appManager.App.Tap(appManager.AlertScreens.ok_on_alert);
                }
                break;

            case EForecastTime.Hour4:
                if (OnAndroid)
                {
                    appManager.App.Tap(appManager.AlertScreens.button4_on_alert);
                }
                else
                {
                    appManager.App.Tap(appManager.CreatePostScreen.createPost_forecastTime_4h_ios);
                    appManager.App.Tap(appManager.AlertScreens.ok_on_alert);
                }
                break;

            case EForecastTime.Hour8:
                if (OnAndroid)
                {
                    appManager.App.Tap(appManager.AlertScreens.button5_on_alert);
                }
                else
                {
                    appManager.App.Tap(appManager.CreatePostScreen.createPost_forecastTime_8h_ios);
                    appManager.App.Tap(appManager.AlertScreens.ok_on_alert);
                }
                break;

            case EForecastTime.Hour24:
                if (OnAndroid)
                {
                    appManager.App.Tap(appManager.AlertScreens.button6_on_alert);
                }
                else
                {
                    appManager.App.Tap(appManager.CreatePostScreen.createPost_forecastTime_24h_ios);
                    appManager.App.Tap(appManager.AlertScreens.ok_on_alert);
                }
                break;

            case EForecastTime.Week1:
                if (OnAndroid)
                {
                    appManager.App.Tap(appManager.AlertScreens.button7_on_alert);
                }
                else
                {
                    appManager.App.Tap(appManager.CreatePostScreen.createPost_forecastTime_1w_ios);
                    appManager.App.Tap(appManager.AlertScreens.ok_on_alert);
                }
                break;

            case EForecastTime.Other:
                if (OnAndroid)
                {
                    appManager.App.Tap(appManager.AlertScreens.button8_on_alert);
                }
                else
                {
                    appManager.App.Tap(appManager.CreatePostScreen.createPost_forecastTime_ather_ios);
                    appManager.App.Tap(appManager.AlertScreens.ok_on_alert);
                }
                break;

            case EForecastTime.Cancel:
                appManager.App.Tap(appManager.AlertScreens.cancel_on_alert);
                break;
            }
            return(this);
        }
Exemple #10
0
        public static string GetLocaleStringFromEnum(this EForecastTime recommend)
        {
            var result = Locale.Localization.Lang.GetType().GetRuntimeProperty(recommend.ToString()).GetValue(Locale.Localization.Lang) as string;

            return(result);
        }
Exemple #11
0
 public void AddPost(string price, EBuySell recommend, EAccessMode access, string tool, EForecastTime timePeriod, string comment, string img)
 {
     _interactor.AddPost(price, recommend, access, tool, timePeriod, comment, img);
 }
Exemple #12
0
 public void ForecastTimeSelected(EForecastTime timePeriod)
 {
     _interactor.ForecastTimeSelected(timePeriod);
 }
Exemple #13
0
        private bool CheckFields(string price, EBuySell recommend, EAccessMode access, string tool, EForecastTime timePeriod, string comment, string img, out bool isSimple)
        {
            bool isFieldsValid = true;

            isSimple = true;
            bool commentState = !string.IsNullOrWhiteSpace(comment);

            if (IsBuySellSelected(recommend) || IsForecastTimeSelected(timePeriod) || IsToolSelected(tool))
            {
                if (!(IsBuySellSelected(recommend) && IsForecastTimeSelected(timePeriod) && IsToolSelected(tool) &&
                      IsAccessModeSelected(access) && !string.IsNullOrWhiteSpace(price)))
                {
                    BuySellSelected(recommend);
                    ForecastTimeSelected(timePeriod);
                    ToolSelected(tool);
                    AccessModeSelected(access);
                    isFieldsValid = false;
                }
                isSimple = false;
            }

            if (string.IsNullOrWhiteSpace(img) && !IsCommentInput(commentState, true))
            {
                CommentInput(commentState, true);
                isFieldsValid = false;
            }

            return(isFieldsValid);
        }
Exemple #14
0
        public void AddPost(string price, EBuySell recommend, EAccessMode access, string tool, EForecastTime timePeriod, string comment, string img)
        {
            if (_currentRecieveStatus == EControllerStatus.Processing)
            {
                return;
            }

            if (!CheckFields(price, recommend, access, tool, timePeriod, comment, img, out bool isPostSimple))
            {
                return;
            }
            comment = comment?.Trim(' ').Trim('\n');

            if (isPostSimple)
            {
                _createPostController.Send(new CreateSimplePostRequestModel(market: "Simple", access: access, content: comment, image: img));
            }
            else
            {
                _createPostController.Send(new CreatePostRequestModel(quote: tool, market: "Currency",
                                                                      recommend: recommend, price: price, access: access, content: comment, forecast: timePeriod, image: img));
            }
        }
Exemple #15
0
 public void ForecastTimeSelected(EForecastTime timePeriod)
 {
     Presenter.ForecastTimeState(IsForecastTimeSelected(timePeriod) ? EState.None : EState.Fail);
 }
Exemple #16
0
 public CreatePostRequestModel(string quote, string market, EBuySell recommend, string price, EAccessMode access, string content, EForecastTime forecast, string image = "")
     : base(market, access, content, image)
 {
     Forecast = GetStringForecastTime(forecast);
     CreatePostRequestModelMainPart(quote, market, recommend, price, access, content, Forecast, image);
 }