public void ShouldInsertTxIfSuccessful()
        {
            // Arrange
            BuyNowClickHandler handler = new BuyNowClickHandler(m_repository);

            // Act
            RedirectToRouteResult result = handler.Process(m_request.Object, m_modelState) as RedirectToRouteResult;

            // Assert
            Assert.AreEqual(1, m_repository.Count);
            Assert.AreEqual("hj8dhfdjfsh98", m_repository.Get(1).Custom);
        }
        public void ShouldRedirectIfSuccessful()
        {
            // Arrange
            BuyNowClickHandler handler = new BuyNowClickHandler(m_repository);

            // Act
            RedirectToRouteResult result = handler.Process(m_request.Object, m_modelState) as RedirectToRouteResult;

            // Assert
            Assert.AreNotEqual(null, result);
            Assert.AreEqual("BuyNow", result.RouteValues["action"]);
            Assert.AreEqual("BuyNow", result.RouteValues["controller"]);
        }
        public void ShouldThrowIfBindingFailed()
        {
            // Arrange
            BuyNowClickHandler handler = new BuyNowClickHandler(m_repository);
            m_request.Object.Form.Remove("emulator_returnUrl");

            // Act
            try
            {
                RedirectToRouteResult result = handler.Process(m_request.Object, m_modelState) as RedirectToRouteResult;
            }
            catch (ErrorDataException)
            {
                return;
            }

            // Assert
            Assert.Fail("Should throw");
        }