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); }
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(); }
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(); } }