public void DontSendClicked_WillHide()
        {
            var form         = new FormBugReportStub();
            var bugSubmitter = new BugSubmitterStub();
            var presenter    = new FormBugReportPresenter(bugSubmitter, form);

            presenter.Show(new Exception());
            form.DontSendClick();

            Assert.IsFalse(form.Visible);
        }
        public void Show_DisplaysView()
        {
            var form         = new FormBugReportStub();
            var bugSubmitter = new BugSubmitterStub();
            var presenter    = new FormBugReportPresenter(bugSubmitter, form);

            var exception       = new Exception("hello world");
            var expectedDetails = bugSubmitter.CollectInfo(exception).GetUserFriendlyText();

            presenter.Show(exception);

            Assert.IsTrue(form.Visible);
            Assert.AreEqual(expectedDetails, form.Details);
        }
        public void SendClicked_WillSendData()
        {
            var form         = new FormBugReportStub();
            var bugSubmitter = new BugSubmitterStub();
            var presenter    = new FormBugReportPresenter(bugSubmitter, form);

            presenter.Show(new Exception());
            form.SendClick();

            Assert.IsFalse(form.Visible);
            var expectedReport = bugSubmitter.ReportFake;

            expectedReport.UserActions = form.WhatYouDid;
            expectedReport.Email       = form.Email;
            Assert.AreEqual(expectedReport, bugSubmitter.SentData);
        }