コード例 #1
0
 private void SetTextBoxFields(groupsubscribe groupSubscribe, string[] textBoxNames, TextBox textBox)
 {
     foreach (var name in textBoxNames)
     {
         ReflectionHelper.SetField(groupSubscribe, name, textBox);
     }
 }
コード例 #2
0
 private void AssertTextBoxs(groupsubscribe groupSubscribe, string[] textBoxNames, Constraint constraint)
 {
     foreach (var name in textBoxNames)
     {
         Assert.That((ReflectionHelper.GetField(groupSubscribe, name) as TextBox).Text, constraint);
     }
 }
コード例 #3
0
        private void InitializeControls(
            groupsubscribe groupSubscribe,
            string[] textBoxNames,
            DataGrid smartGrid,
            PagerBuilder pagerBuilder,
            Button refreshButton,
            Button optinHtmlSave,
            PlaceHolder errorPlaceholder,
            Label errorMessageLaber)
        {
            SetTextBoxFields(groupSubscribe, textBoxNames, new TextBox()
            {
                Text = DummyText
            });

            ReflectionHelper.SetField(groupSubscribe, SoOptinFieldSelectionListBoxName, new ListBox());
            ReflectionHelper.SetField(groupSubscribe, SoHTMLCodeControlName, new CKEditorControl());

            ReflectionHelper.SetField(groupSubscribe, SmartFormGridControlName, smartGrid);
            ReflectionHelper.SetField(groupSubscribe, GridPagerControlName, pagerBuilder);

            ReflectionHelper.SetField(groupSubscribe, SoRefreshHTMLControlName, refreshButton);
            ReflectionHelper.SetField(groupSubscribe, SoOptinHTMLSaveControlName, optinHtmlSave);

            ReflectionHelper.SetField(groupSubscribe, ErrorPlaceHolderControlName, errorPlaceholder);

            ReflectionHelper.SetField(groupSubscribe, ErrorMessageLabelControlName, errorMessageLaber);
        }
コード例 #4
0
        public void Setup()
        {
            _context = ShimsContext.Create();
            InitializeHttpContext();
            InitializeQueryString();

            _groupSubscribe = new groupsubscribe();
            _privateObject  = new MsTest.PrivateObject(_groupSubscribe);
        }
コード例 #5
0
        private object GetGroupSubscribe()
        {
            var masterCommunicator = CreateMasterCommunicator();
            var smartFormsHistory  = CreateSmartFormsHistory();

            smartFormsHistory.Setup(x => x.Save(It.IsAny <SmartFormsHistory>(), It.IsAny <User>()));
            var request        = CreateRequest();
            var groupSubscribe = new groupsubscribe(masterCommunicator.Object, smartFormsHistory.Object, request.Object);

            InitializeAllControls(groupSubscribe);
            return(groupSubscribe);
        }
コード例 #6
0
        public void SaveOptinHTMLClick_ECNException_CallsSmartFormsHistorySave()
        {
            // Arrange
            var masterCommunicator = CreateMasterCommunicator();

            var smartFormsHistory = CreateSmartFormsHistory();

            smartFormsHistory.Setup(x => x.GetBySmartFormID(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <User>()))
            .Throws(new ECNException(new List <ECNError>()));

            var request = new Mock <IRequest>();

            request.Setup(x => x.GetQueryStringValue(It.IsAny <string>())).Returns(string.Empty);

            var groupSubscribe = new groupsubscribe(masterCommunicator.Object, smartFormsHistory.Object, request.Object);

            var textBoxNames = new string[]
            {
                SmartFormNameTextBoxName,
                ResponseUserMsgSubjectTextBoxName,
                ResponseUserScreenTextBoxName,
                ResponseFromEmailTextBoxName,
                ResponseAdminEmailTextBoxName,
                ResponseAdminMsgSubjectTextBoxName,
                ResponseAdminMsgBodyTextBoxName,
                ResponseUserMsgBodyTextBoxName
            };
            var smartGrid    = new DataGrid();
            var pagerBuilder = new PagerBuilder()
            {
                RecordCount = ValueNegativeOne
            };
            var refreshButton = new Button()
            {
                Visible = true
            };
            var optinHtmlSave = new Button()
            {
                Visible = true
            };
            var errorPlaceholder = new PlaceHolder()
            {
                Visible = false
            };
            var errorMessageLaber = new Label()
            {
                Text = DummyText
            };

            InitializeControls(groupSubscribe, textBoxNames, smartGrid, pagerBuilder, refreshButton, optinHtmlSave, errorPlaceholder, errorMessageLaber);

            ReflectionHelper.SetField(groupSubscribe, SoSmartFormButtonName, new Button {
                Enabled = false
            });
            ReflectionHelper.SetField(groupSubscribe, DoSmartFormButtonName, new Button {
                Enabled = true
            });
            var htmlSaveNewButton = new Button()
            {
                Text = DummyText
            };

            ReflectionHelper.SetField(groupSubscribe, SoOptinHTMLSaveNewControlName, htmlSaveNewButton);

            // Act
            typeof(groupsubscribe)
            .CallMethod(
                "SaveOptinHTML_Click",
                new object[]
            {
                null,
                null
            },
                groupSubscribe);

            // Assert
            smartFormsHistory.Verify(x => x.Save(It.IsAny <SmartFormsHistory>(), It.IsAny <User>()), Times.Never());
            smartFormsHistory.Verify(x => x.GetByGroupID(It.IsAny <int>(), It.IsAny <User>()), Times.Once());
            smartFormsHistory.Verify(x => x.GetBySmartFormID(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <User>()), Times.Once());

            Assert.That(refreshButton.Enabled, Is.False);
            Assert.That(optinHtmlSave.Enabled, Is.False);
            Assert.That(smartGrid.DataSource, Is.InstanceOf(typeof(IList)));
            var dataSource = smartGrid.DataSource as IList;

            Assert.That(dataSource, Is.Not.Null);
            Assert.That(dataSource.Count, Is.EqualTo(ValueZero));
            Assert.That(pagerBuilder.RecordCount, Is.EqualTo(ValueZero));
            AssertTextBoxs(groupSubscribe, textBoxNames, Is.Empty);

            Assert.That(errorPlaceholder.Visible, Is.True);
            Assert.That(errorMessageLaber.Text, Is.Empty);

            Assert.That(htmlSaveNewButton.Text, Is.EqualTo(CreateNewSmartForm));
        }
コード例 #7
0
        public void SoOptinHTMLSaveNewClick_ECNException_CallsSmartFormsHistorySave()
        {
            // Arrange
            var masterCommunicator = CreateMasterCommunicator();
            var smartFormsHistory  = CreateSmartFormsHistory();

            smartFormsHistory.Setup(x => x.Save(It.IsAny <SmartFormsHistory>(), It.IsAny <User>()))
            .Throws(new ECNException(new List <ECNError>()));

            var request        = CreateRequest();
            var groupSubscribe = new groupsubscribe(masterCommunicator.Object, smartFormsHistory.Object, request.Object);

            var textBoxNames = new string[]
            {
                SmartFormNameTextBoxName,
                ResponseUserMsgSubjectTextBoxName,
                ResponseUserScreenTextBoxName,
                ResponseFromEmailTextBoxName,
                ResponseAdminEmailTextBoxName,
                ResponseAdminMsgSubjectTextBoxName,
                ResponseAdminMsgBodyTextBoxName,
                ResponseUserMsgBodyTextBoxName
            };
            var smartGrid    = new DataGrid();
            var pagerBuilder = new PagerBuilder()
            {
                RecordCount = ValueNegativeOne
            };
            var refreshButton = new Button()
            {
                Visible = true
            };
            var optinHtmlSave = new Button()
            {
                Visible = true
            };
            var errorPlaceholder = new PlaceHolder()
            {
                Visible = false
            };
            var errorMessageLaber = new Label()
            {
                Text = DummyText
            };

            InitializeControls(groupSubscribe, textBoxNames, smartGrid, pagerBuilder, refreshButton, optinHtmlSave, errorPlaceholder, errorMessageLaber);

            // Act
            typeof(groupsubscribe)
            .CallMethod(
                "SO_OptinHTMLSaveNew_Click",
                new object[]
            {
                null,
                null
            },
                groupSubscribe);

            // Assert
            smartFormsHistory.Verify(x => x.Save(It.IsAny <SmartFormsHistory>(), It.IsAny <User>()), Times.Once());
            smartFormsHistory.Verify(x => x.GetByGroupID(It.IsAny <int>(), It.IsAny <User>()), Times.Never());

            Assert.That(refreshButton.Enabled, Is.True);
            Assert.That(optinHtmlSave.Enabled, Is.True);
            Assert.That(smartGrid.DataSource, Is.Null);
            Assert.That(pagerBuilder.RecordCount, Is.EqualTo(ValueNegativeOne));
            AssertTextBoxs(groupSubscribe, textBoxNames, Is.EqualTo(DummyText));

            Assert.That(errorPlaceholder.Visible, Is.True);
            Assert.That(errorMessageLaber.Text, Is.Empty);
        }