public void Create_ReturnsMerchantAndCredentials()
{
ResultImpl<Merchant> result = gateway.Merchant.Create(new MerchantRequest {
Email = "[email protected]",
CountryCodeAlpha3 = "USA",
PaymentMethods = new string[] {"credit_card", "paypal"},
Scope = "read_write,shared_vault_transactions",
});
Assert.IsTrue(result.IsSuccess());
Assert.IsFalse(string.IsNullOrEmpty(result.Target.Id));
Assert.AreEqual("[email protected]", result.Target.Email);
Assert.AreEqual("[email protected]", result.Target.CompanyName);
Assert.AreEqual("USA", result.Target.CountryCodeAlpha3);
Assert.AreEqual("US", result.Target.CountryCodeAlpha2);
Assert.AreEqual("840", result.Target.CountryCodeNumeric);
Assert.AreEqual("United States of America", result.Target.CountryName);
Assert.IsTrue(result.Target.Credentials.AccessToken.StartsWith("access_token$"));
Assert.IsTrue(result.Target.Credentials.RefreshToken.StartsWith("refresh_token$"));
Assert.IsTrue(result.Target.Credentials.ExpiresAt > DateTime.Now);
Assert.AreEqual("bearer", result.Target.Credentials.TokenType);
Assert.AreEqual("read_write,shared_vault_transactions", result.Target.Credentials.Scope);
}