public void Update_UpdatesPayPalAccountToken()
{
var customer = gateway.Customer.Create().Target;
var originalToken = string.Format("paypal-account-{0}", DateTime.Now.Ticks);
var nonce = TestHelper.GetNonceForPayPalAccount(
gateway,
new Params
{
{ "consent_code", "consent-code" },
{ "token", originalToken }
});
var originalResult = gateway.PaymentMethod.Create(new PaymentMethodRequest
{
PaymentMethodNonce = nonce,
CustomerId = customer.Id
});
Assert.That(originalResult.Target, Is.InstanceOf(typeof(PayPalAccount)));
var updatedToken = string.Format("UPDATED_TOKEN-{0}", DateTime.Now.Ticks);
var updatedResult = gateway.PaymentMethod.Update(
originalToken,
new PaymentMethodRequest
{
Token = updatedToken
});
Assert.IsTrue(updatedResult.IsSuccess());
var updatedPaypalAccount = gateway.PayPalAccount.Find(updatedToken);
Assert.AreEqual(((PayPalAccount)originalResult.Target).Email, updatedPaypalAccount.Email);
Exception exception = null;
try {
gateway.PayPalAccount.Find(originalToken);
} catch (Exception e) {
exception = e;
}
Assert.IsNotNull(exception);
Assert.IsInstanceOf(typeof(NotFoundException), exception);
}