public void ShouldBindTx() { // Arrange BuyNowBinder binder = new BuyNowBinder(); NameValueCollection form = new NameValueCollection { { "emulator_authToken", m_auth }, { "emulator_returnUrl", m_returnUrl }, { "emulator_ipnReturnUrl", m_ipnReturnUrl }, { "amount", m_amount }, { "currency_code", m_currency }, { "custom", m_custom }, { "business", m_account} }; // Act Transaction p = binder.Bind(form, m_modelState); // Assert Assert.AreEqual(m_auth, p.AuthToken); Assert.AreEqual(m_returnUrl, p.ReturnUrl); Assert.AreEqual(m_amount, p.Amount); Assert.AreEqual(m_currency, p.Currency); Assert.AreEqual(m_custom, p.Custom); Assert.AreEqual(m_account, p.Account); }
public ActionResult Process(HttpRequestBase request, ModelStateDictionary modelState) { BuyNowBinder binder = new BuyNowBinder(); Transaction tx = binder.Bind(request.Form, modelState); if (!modelState.IsValid) { throw new ErrorDataException(modelState); } m_txRepository.Insert(tx); return new RedirectToRouteResult(new RouteValueDictionary(new { controller = "BuyNow", action = "BuyNow", txId = tx.Id })); }
public void ShouldFailIfMissingAccount() { // Arrange BuyNowBinder binder = new BuyNowBinder(); NameValueCollection form = new NameValueCollection { { "emulator_authToken", m_auth }, { "emulator_returnUrl", m_returnUrl }, { "emulator_ipnReturnUrl", m_ipnReturnUrl }, { "amount", m_amount }, { "currency_code", m_currency }, { "custom", m_custom } }; // Act Transaction p = binder.Bind(form, m_modelState); // Assert Assert.AreEqual(null, p); Assert.IsFalse(m_modelState.IsValid); }