Example #1
0
 public void Setup()
 {
     QueryString.Clear();
     _wizardSetup        = new wizardSetup();
     _wizardSetupPrivate = new PrivateObject(_wizardSetup);
     InitializeAllControls(_wizardSetup);
 }
        public void btnSave_Click_WithNoExistingReportScheduleIdAndDayOfMonthNotLast_SetsErrorLabelException()
        {
            // Arrange
            QueryString.Clear();
            SetUpFakesForBtnSaveMethodClick();
            SetPageControls(
                scheduleType: NonRecurringScheduleType,
                recurrenceType: MontlyScheduleType,
                dayOfMonth: DateTime.UtcNow.DayOfYear.ToString());

            // Act
            _privateTestObject.Invoke(BtnSaveClickMethodName, this, EventArgs.Empty);

            // Assert
            _isSavedReportSchedule.ShouldBeTrue();
            _savedReportSchedule.ShouldNotBeNull();
            _savedReportSchedule.ShouldSatisfyAllConditions(
                () => _savedReportSchedule.CustomerID.ShouldBe(1),
                () => _savedReportSchedule.ReportScheduleID.ShouldBe(1),
                () => _savedReportSchedule.ReportID.ShouldBe(1),
                () => _savedReportSchedule.StartDate.ShouldContain(Get <TextBox>(_privateTestObject, TxtStartDateControl).Text),
                () => _savedReportSchedule.StartTime.ShouldContain(Get <DropDownList>(_privateTestObject, DdlStartTimeControl).SelectedValue),
                () => _savedReportSchedule.RunSunday.Value.ShouldBeTrue(),
                () => _savedReportSchedule.RunMonday.Value.ShouldBeTrue(),
                () => _savedReportSchedule.RunThursday.Value.ShouldBeTrue(),
                () => _savedReportSchedule.RunWednesday.Value.ShouldBeTrue(),
                () => _savedReportSchedule.RunTuesday.Value.ShouldBeTrue(),
                () => _savedReportSchedule.RunSaturday.Value.ShouldBeTrue(),
                () => _savedReportSchedule.MonthLastDay.Value.ShouldBeFalse(),
                () => _savedReportSchedule.MonthScheduleDay.ShouldBe(DateTime.UtcNow.DayOfYear),
                () => _savedReportSchedule.FromEmail.ShouldBe(ValidEmailAddress[1]),
                () => _savedReportSchedule.ToEmail.ShouldBe(ValidEmailAddress[0]),
                () => _savedReportSchedule.ReportParameters.ShouldBe(SampleReportParameters),
                () => _savedReportSchedule.ExportFormat.ShouldBe(SampleExportFormat));
        }
Example #3
0
 protected override void SetPageSessionContext()
 {
     base.SetPageSessionContext();
     QueryString.Clear();
     _testEntity = new Magazine();
     InitializeAllControls(_testEntity);
     _privateObject = new PrivateObject(_testEntity);
 }
Example #4
0
        // Interface
        public override void Clear()
        {
            base.Clear();

            Method   = "POST";
            Resource = "/";

            QueryString.Clear();
        }
Example #5
0
 internal override void Clear()
 {
     QueryString.Clear();
     if (ParameterValues.Value != null)
     {
         ParameterValues.Value.Clear();
     }
     methodUrl = string.Empty;
     throw new NotImplementedException();
 }
        public void Setup()
        {
            _entity = new ecn.communicator.main.content.SocialFileManager();
            InitializePage(_entity);
            InitializeAllControls(_entity);

            QueryString.Clear();
            QueryString.Add(QueryStringCustomerId, One);
            QueryString.Add(QueryStringChannelId, One);
        }
 protected override void SetPageSessionContext()
 {
     _isClientSaved = false;
     _savedClient   = null;
     _isGroupSaved  = false;
     _savedGroup    = null;
     base.SetPageSessionContext();
     QueryString.Clear();
     _testEntity     = new customerdetail();
     _privateTestObj = new PrivateObject(_testEntity);
     InitializeAllControls(_testEntity);
     ShimCurrentUser();
     ShimMasterPage();
 }
Example #8
0
        protected override void SetPageSessionContext()
        {
            base.SetPageSessionContext();

            var settings = new NameValueCollection();

            settings.Add("ECNEngineAccessKey", Guid.NewGuid().ToString());
            ShimConfigurationManager.AppSettingsGet = () => settings;

            _testEntity    = new SurveyBuilder();
            _privateObject = new PrivateObject(_testEntity);
            InitializeAllControls(_testEntity);
            InitializeSessionFakes();
            QueryString.Clear();
        }
Example #9
0
 protected override void SetPageSessionContext()
 {
     base.SetPageSessionContext();
     _testEntity    = new download();
     _privateObject = new PrivateObject(_testEntity);
     InitializeAllControls(_testEntity);
     InitializeSessionFakes();
     QueryString.Clear();
     QueryString.Add(FilterID, OneString);
     QueryString.Add(ChIDKey, OneString);
     QueryString.Add(CustIDKey, OneString);
     QueryString.Add(GroupIDKey, OneString);
     QueryString.Add(SearchEmailKey, TestEmailAddress);
     QueryString.Add(FileTypeKey, FileTypes[0]);
 }
 protected override void SetPageSessionContext()
 {
     base.SetPageSessionContext();
     _addGroupInstance = new addGroup();
     InitializeAllControls(_addGroupInstance);
     _privateObjectAddGroup = new PrivateObject(_addGroupInstance);
     InitializeSessionFakes();
     QueryString.Clear();
     ShimUserControl.AllInstances.RequestGet = (p) =>
     {
         return(new HttpRequest(string.Empty, TestUrl, string.Empty));
     };
     ShimHttpRequest.AllInstances.QueryStringGet = (r) =>
     {
         return(QueryString);
     };
 }
        private void SetFakesForInitializeMethod()
        {
            QueryString.Clear();
            QueryString.Add(SampleIDKey, "1");

            var settings = new NameValueCollection();

            settings.Add($"IgnoreSuppression_{ECNSession.CurrentSession().CurrentUser.UserID}", bool.TrueString);
            ShimConfigurationManager.AppSettingsGet = () => settings;

            ShimUser.HasAccessUserEnumsServicesEnumsServiceFeaturesEnumsAccess = (user, r, d, g) => true;
            ShimCampaign.GetByCustomerID_NonArchivedInt32UserBoolean           = (custId, user, b) => new List <CommunicatorEntities.Campaign>
            {
                new CommunicatorEntities.Campaign {
                    CampaignName = SampleCampaignName, CampaignID = 1
                }
            };
            ShimSample.GetBySampleIDInt32User             = (sampleId, user) => new CommunicatorEntities.Sample {
            };
            ShimCampaignItem.GetByBlastIDInt32UserBoolean = (bid, user, b) => new CommunicatorEntities.CampaignItem
            {
                CampaignID             = 1,
                CampaignItemID         = 1,
                CampaignItemName       = SampleCampaignName,
                CampaignItemTemplateID = 1,
                BlastField1            = "1",
                BlastField2            = "2",
                BlastField3            = "3",
                BlastField4            = "4",
                BlastField5            = "5",
            };
            ShimCampaignItem.GetByCampaignItemIDInt32UserBoolean = (cid, user, b) => new CommunicatorEntities.CampaignItem
            {
                CampaignID             = 1,
                CampaignItemName       = SampleCampaignItem,
                CampaignItemTemplateID = 1,
                IgnoreSuppression      = true
            };
            ShimCampaignItemTemplate.GetByCampaignItemTemplateIDInt32UserBoolean = (cid, user, b) => new CommunicatorEntities.CampaignItemTemplate();
            ShimBlastActivity.ChampionByProcInt32BooleanUserString = (sid, b, user, t) => GetActivityDataTable();
            ShimCustomer.HasProductFeatureInt32EnumsServicesEnumsServiceFeatures = (cid, s, f) => true;
        }
Example #12
0
        protected override void SetPageSessionContext()
        {
            base.SetPageSessionContext();
            _testGroupExplorer = new testGroupExplorer();
            InitializeAllControls(_testGroupExplorer);
            _privateGroupExplorerObj = new PrivateObject(_testGroupExplorer);
            InitializeSessionFakes();
            QueryString.Clear();
            QueryString.Add(GroupIDKey, null);
            QueryString.Add(FilterIDKey, null);

            ShimUserControl.AllInstances.RequestGet = (p) =>
            {
                return(new HttpRequest(string.Empty, TestUrl, string.Empty));
            };
            ShimHttpRequest.AllInstances.QueryStringGet = (r) =>
            {
                return(QueryString);
            };
        }
Example #13
0
        private void InitializeSessionFakes()
        {
            QueryString.Clear();
            var shimSession = new ShimECNSession();

            shimSession.Instance.CurrentUser = new User()
            {
                UserID     = 1,
                UserName   = "******",
                IsActive   = true,
                CustomerID = 1
            };
            shimSession.Instance.CurrentBaseChannel = new BaseChannel {
                BaseChannelID = 1
            };
            ShimECNSession.CurrentSession = () => shimSession.Instance;
            ShimBaseChannelUpdateEmail.AllInstances.MasterGet = (s) => new MasterPage.Communicator {
            };
            ShimCommunicator.AllInstances.UserSessionGet      = (m) => shimSession.Instance;
        }
        private void InitializeSessionFakes()
        {
            QueryString.Clear();
            QueryString.Add(ReportScheduleIdKey, "1");
            var shimSession = new ShimECNSession();

            shimSession.Instance.CurrentUser = new User()
            {
                UserID     = 1,
                UserName   = "******",
                IsActive   = true,
                CustomerID = 1
            };
            shimSession.Instance.CurrentBaseChannel = new BaseChannel {
                BaseChannelID = 1
            };
            ShimECNSession.CurrentSession = () => shimSession.Instance;
            ShimscheduledReportSetup.AllInstances.MasterGet = (s) => new ecn.communicator.MasterPages.Communicator {
            };
            ecn.communicator.MasterPages.Fakes.ShimCommunicator.AllInstances.UserSessionGet = (m) => shimSession.Instance;
        }
        protected override void SetPageSessionContext()
        {
            base.SetPageSessionContext();
            _groupExplorer = new groupExplorer();
            InitializeAllControls(_groupExplorer);
            _privateGroupExplorerObj = new PrivateObject(_groupExplorer);
            _privateGroupExplorerObj.SetField("IsSelect", BindingFlags.Static | BindingFlags.NonPublic, false);
            InitializeSessionFakes();
            QueryString.Clear();
            QueryString.Add(GroupIDKey, null);
            QueryString.Add(FilterIDKey, null);

            ShimUserControl.AllInstances.RequestGet = (p) =>
            {
                return(new HttpRequest(string.Empty, TestUrl, string.Empty));
            };
            ShimHttpRequest.AllInstances.QueryStringGet = (r) =>
            {
                return(QueryString);
            };
        }
        public void Initailize_WhenSampleIDAndCampaignItemIdHasNoValue_LoadsPageControl()
        {
            // Arrange
            SetFakesForWizardCampaignMethod();
            SetFakesForInitializeMethod();
            QueryString.Clear();
            QueryString.Add(SampleIDKey, "0");

            // Act
            _privateTestObject.Invoke(InitializeMethodName);

            // Assert
            var rbNewCampaign      = Get <RadioButton>(_privateTestObject, RbNewCampaign);
            var rbExistingCampaign = Get <RadioButton>(_privateTestObject, RbExistingCampaign);
            var plExistingCampaign = Get <PlaceHolder>(_privateTestObject, PanelExistingCampaign);
            var plCreateCampaign   = Get <PlaceHolder>(_privateTestObject, PanelCreateCampaign);

            rbExistingCampaign.ShouldSatisfyAllConditions(
                () => rbNewCampaign.Checked.ShouldBeFalse(),
                () => rbExistingCampaign.Checked.ShouldBeTrue(),
                () => plExistingCampaign.Visible.ShouldBeTrue(),
                () => plCreateCampaign.Visible.ShouldBeFalse());
        }
        private void SetFakesForSaveMethod()
        {
            _isCampaignItemSuppressionDeleted = false;
            _isBlastsFromCampaignItemCreated  = false;
            _savedCampaignItem                = null;
            _deletedCampaignItemBlastIDs      = new List <int>();
            _savedCampaignItemSuppressionList = new List <CommunicatorEntities.CampaignItemSuppression>();
            _savedCampaignItemBlastList       = new List <CommunicatorEntities.CampaignItemBlast>();
            QueryString.Clear();
            QueryString.Add(PrePopLayoutIDKey, "1");

            ShimCampaignItem.GetByCampaignItemID_NoAccessCheckInt32Boolean = (cid, b) => GetCampaignItem();
            ShimgroupExplorer.AllInstances.getSelectedGroups    = (g) => GetGroupList();
            ShimgroupExplorer.AllInstances.getSuppressionGroups = (g) => GetGroupList();

            // Save and Delete Fakes
            ShimCampaignItemBlastRefBlast.DeleteInt32UserBoolean = (cbId, user, b) =>
            { _deletedCampaignItemBlastIDs.Add(cbId); };
            ShimCampaignItem.SaveCampaignItemUser = (ci, user) =>
            {
                _savedCampaignItem = ci;
                return(1);
            };
            ShimCampaignItemBlast.SaveInt32ListOfCampaignItemBlastUser = (cid, lBlast, user) =>
            {
                _savedCampaignItemBlastList.AddRange(lBlast);
            };
            ShimCampaignItemSuppression.Delete_NoAccessCheckInt32UserBoolean = (csupId, user, b) =>
            { _isCampaignItemSuppressionDeleted = true; };
            ShimCampaignItemSuppression.SaveCampaignItemSuppressionUser = (csup, user) =>
            {
                _savedCampaignItemSuppressionList.Add(csup);
                return(1);
            };
            ShimBlast.CreateBlastsFromCampaignItemInt32UserBoolean = (cid, user, b) => { _isBlastsFromCampaignItemCreated = true; };
        }
Example #18
0
        /// <summary>
        /// Post请求
        /// </summary>
        /// <typeparam name="TP">入参类型</typeparam>
        /// <typeparam name="T">出参类型</typeparam>
        /// <param name="method">表示请求的http方法,大写, 如POST、GET、PUT</param>
        /// <param name="address">请求地址</param>
        /// <param name="parameters">请求参数</param>
        /// <param name="dateTimeFormat">入参的时间格式</param>
        /// <returns></returns>
        public BaseResult <T> Request <TP, T>(HttpMethod method, string address, TP parameters, string dateTimeFormat = "yyyy-MM-dd HH:mm:ss") where T : class where TP : class, new()
        {
            var result = new BaseResult <T>();

            try
            {
                if (string.IsNullOrEmpty(address))
                {
                    result.SetError("address不能为空!");
                    return(result);
                }
                var contentType = Headers["Content-Type"]?.ToLower();
                if (contentType == null)
                {
                    Headers.Add("Content-Type", "application/json");
                    contentType = Headers["Content-Type"].ToLower();
                }

                byte[] bytes;
                var    @params = JsonConvert.SerializeObject(parameters);
                @params = Regex.Replace(@params, @"\\/Date\((\d+)\)\\/", match =>
                {
                    var dt = new DateTime(1970, 1, 1);
                    dt     = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));
                    dt     = dt.ToLocalTime();
                    return(dt.ToString(dateTimeFormat));
                });

                if (method == HttpMethod.Get)
                {
                    var dicParameters = JsonConvert.DeserializeObject <Dictionary <string, string> >(@params);
                    var(item1, item2) = BuildUrlParameter(address, dicParameters);
                    address           = item1;
                    var parametersStr = BuildQuery(item2);
                    if (!string.IsNullOrEmpty(parametersStr))
                    {
                        address = $"{item1}?{parametersStr}";
                    }
                    bytes = DownloadData(address);
                }
                else if (contentType.Contains("application/json"))
                {
                    var dataBytes = Encoding.GetBytes(@params);
                    bytes = UploadData(address, HttpMethod.Post.ToString(), dataBytes);
                }
                else
                {
                    var dicParameters = JsonConvert.DeserializeObject <Dictionary <string, string> >(@params);
                    var parametersStr = BuildQuery(dicParameters);
                    var dataBytes     = Encoding.GetBytes(parametersStr);
                    bytes = UploadData(address, HttpMethod.Post.ToString(), dataBytes);
                }
                var content = Encoding.GetString(bytes);
                if (string.IsNullOrEmpty(content))
                {
                    return(result);
                }
                if (typeof(T) == typeof(string))
                {
                    result.Result = (T)Convert.ChangeType(content, typeof(T));
                    return(result);
                }
                result.Result = JsonConvert.DeserializeObject <T>(content);
                return(result);
            }
            catch (Exception ex)
            {
                if (ex.GetType().Name == "WebException")
                {
                    var we = (WebException)ex;
                    using var hr = (HttpWebResponse)we.Response;
                    if (hr != null)
                    {
                        var statusCode     = (int)hr.StatusCode;
                        var sb             = new StringBuilder();
                        var responseStream = hr.GetResponseStream();
                        if (responseStream != null)
                        {
                            var sr = new StreamReader(responseStream, Encoding.UTF8);
                            sb.Append(sr.ReadToEnd());
                            result.SetError($"{sb}", statusCode);
                            return(result);
                        }
                    }
                }
                result.SetError(ex.Message, BaseStateCode.TryCatch异常错误);
                return(result);
            }
            finally
            {
                QueryString.Clear();
            }
        }