コード例 #1
0
        public void SetViewModelHtmlCorrectly()
        {
            //Arrange
            var mockedView = new Mock <IPageView>();

            mockedView.Setup(v => v.Model).Returns(new PageViewModel());
            var    mockedPageService         = new Mock <IPageService>();
            var    mockedConverter           = new Mock <IMarkupConverter>();
            var    defaultPresenterUnderTest = new PagePresenter(mockedView.Object, mockedPageService.Object, mockedConverter.Object);
            string expectedContent           = "<h1>";
            var    page = new SotnWiki.Models.Page()
            {
                Title   = "aa",
                Content = ".h1"
            };

            mockedConverter.Setup(x => x.ScriptToHtml(It.IsAny <string>())).Returns(expectedContent);
            mockedPageService.Setup(x => x.GetPageByTitle(It.IsAny <string>())).Returns(page);

            //Act
            mockedView.Raise(v => v.OnPageGetContent += null, new PageEventArgs(""));

            //Assert
            Assert.AreEqual(expectedContent, mockedView.Object.Model.PageHtml);
        }
コード例 #2
0
        public void SetHttpResponseTo404WhenPageIsNotFound()
        {
            //Arrange
            var mockedView = new Mock <IPageView>();

            mockedView.Setup(v => v.Model).Returns(new PageViewModel());
            var mockedPageService      = new Mock <IPageService>();
            var mockedConverter        = new Mock <IMarkupConverter>();
            var pagePresenterUnderTest = new PagePresenter(mockedView.Object, mockedPageService.Object, mockedConverter.Object);

            mockedPageService.Setup(x => x.GetPageByTitle(It.IsAny <string>())).Returns((SotnWiki.Models.Page)null);
            var mockedHttpContext      = new Mock <HttpContextBase>();
            var mockedHttpResponseBase = new Mock <HttpResponseBase>();

            pagePresenterUnderTest.HttpContext = mockedHttpContext.Object;
            mockedHttpContext.Setup(x => x.Response).Returns(mockedHttpResponseBase.Object);
            mockedHttpResponseBase.SetupSet(x => x.StatusCode = 404).Verifiable();
            mockedHttpResponseBase.SetupSet(x => x.Status     = "404 not found").Verifiable();

            //Act
            mockedView.Raise(v => v.OnPageGetContent += null, new PageEventArgs(""));

            //Assert
            mockedHttpResponseBase.Verify();
        }
コード例 #3
0
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     List<PagePresenter> pages = new List<PagePresenter>();
     foreach (TabItem item in QueryTabs.Items)
     {
         PagePresenter p = new PagePresenter(item);
         if (p.Content.Modified)
             pages.Add(p);
     }
     if (pages.Count > 0)
     {
         if (pages.Count == 1)
         {
             if (!Controller.CloseQuery(pages[0].Content))
             {
                 e.Cancel = true;
                 return;
             }
         }
         else
         {
             ConfirmSaveDialog dlg = new ConfirmSaveDialog();
             dlg.Owner = this;
             foreach (PagePresenter presenter in pages)
             {
                 dlg.listBox.Items.Add(presenter);
                 dlg.listBox.SelectedItems.Add(presenter);
             }
             if (dlg.ShowDialog() != true)
             {
                 e.Cancel = true;
                 return;
             }
             else
                 foreach (PagePresenter pp in dlg.listBox.SelectedItems)
                 {
                     if (!Controller.CloseQuery(pp.Content))
                     {
                         e.Cancel = true;
                         return;
                     }
                     QueryTabs.Items.Remove(pp.Item);
                 }  
             
         }
     }
     foreach (TabItem item in QueryTabs.Items)
     {
         PagePresenter p = new PagePresenter(item);
         p.Content.Close();
     }
 }