public void Create_EmptyObjects_ValidString() { var configuration = new KassaConfiguration(); var request = new PaymentRequest(); var result = DataString.Create(configuration, request); Assert.AreEqual("merchantId=|keyVersion=1|amount=0|currencyCode=000|normalReturnUrl=|transactionReference=", result); }
public void Constructor_ConfigurationIsInvalid_ThrowsException() { KassaConfiguration configuration = new KassaConfiguration(); ExceptionAssert.Throws <InvalidOperationException>("The value for MerchantId should not be null.", () => { new Kassa(configuration); }); }
public void Constructor_PropertiesAreInitialized() { KassaConfiguration configuration = new KassaConfiguration(); Assert.AreEqual(1, configuration.KeyVersion); Assert.IsNull(configuration.MerchantId); Assert.IsNull(configuration.SecretKey); Assert.AreEqual(new Uri("https://payment-webinit.omnikassa.rabobank.nl/paymentServlet"), configuration.Url); }
public void Create_CaptureModeIsSet_ValidString() { var configuration = new KassaConfiguration(); var request = new PaymentRequest() { CaptureMode = "VALIDATION" }; var result = DataString.Create(configuration, request); Assert.AreEqual("merchantId=|keyVersion=1|amount=0|currencyCode=000|normalReturnUrl=|transactionReference=|captureMode=VALIDATION", result); }
public void Create_ExpirationDateIsSet_ValidString() { var configuration = new KassaConfiguration(); var request = new PaymentRequest() { ExpirationDate = new DateTime(2010, 5, 10, 16, 10, 15) }; var result = DataString.Create(configuration, request); Assert.AreEqual("merchantId=|keyVersion=1|amount=0|currencyCode=000|normalReturnUrl=|transactionReference=|expirationDate=2010-05-10T16:10:15", result); }
public void Create_PaymentBrandsIsSetWithMultipleValues_ValidString() { var configuration = new KassaConfiguration(); var request = new PaymentRequest() { PaymentBrands = new PaymentBrand[] { PaymentBrand.IDEAL, PaymentBrand.MASTERCARD, PaymentBrand.VISA } }; var result = DataString.Create(configuration, request); Assert.AreEqual("merchantId=|keyVersion=1|amount=0|currencyCode=000|normalReturnUrl=|transactionReference=|paymentMeanBrandList=IDEAL,MASTERCARD,VISA", result); }
public void Create_LanguageIsSet_ValidString() { var configuration = new KassaConfiguration(); var request = new PaymentRequest() { Language = LanguageCode.CS }; var result = DataString.Create(configuration, request); Assert.AreEqual("merchantId=|keyVersion=1|amount=0|currencyCode=000|normalReturnUrl=|transactionReference=|customerLanguage=CS", result); }
public void Create_AutomaticResponseUrlIsSet_ValidString() { var configuration = new KassaConfiguration(); var request = new PaymentRequest() { AutomaticResponseUrl = new Uri("https://www.github.com") }; var result = DataString.Create(configuration, request); Assert.AreEqual("merchantId=|keyVersion=1|amount=0|currencyCode=000|normalReturnUrl=|transactionReference=|automaticResponseUrl=https://www.github.com/", result); }
public void Create_CurrencyCodeIsSetToCanadianDollar_ValidString() { var configuration = new KassaConfiguration(); var request = new PaymentRequest() { CurrencyCode = CurrencyCode.CanadianDollar }; var result = DataString.Create(configuration, request); Assert.AreEqual("merchantId=|keyVersion=1|amount=0|currencyCode=124|normalReturnUrl=|transactionReference=", result); }
public void Validate_IsValid_NoException() { KassaConfiguration configuration = new KassaConfiguration() { KeyVersion = 1, MerchantId = "123456789012345", SecretKey = "secret", Url = new Uri("https://www.github.com") }; KassaConfigurationValidator.Validate(configuration); }
public void Validate_MerchantIdIsWhitespace_ThrowsException() { KassaConfiguration configuration = new KassaConfiguration() { KeyVersion = 1, MerchantId = " ", SecretKey = "secret", Url = new Uri("https://www.github.com") }; ExceptionAssert.ThrowsWhitespaceValidationException(nameof(configuration.MerchantId), () => { KassaConfigurationValidator.Validate(configuration); }); }
public void Validate_KeyVersionLessThan1_ThrowsException() { KassaConfiguration configuration = new KassaConfiguration() { KeyVersion = 0, MerchantId = "merchant", SecretKey = "secret", Url = new Uri("https://www.github.com") }; ExceptionAssert.ThrowsHigherThanValidationException(nameof(configuration.KeyVersion), 0, () => { KassaConfigurationValidator.Validate(configuration); }); }
public void Validate_UrlContainsSeparator_ThrowsException() { KassaConfiguration configuration = new KassaConfiguration() { KeyVersion = 1, MerchantId = "merchant", SecretKey = "secret", Url = new Uri("https://github.com/?a=|") }; ExceptionAssert.ThrowsSeparatorValidationException(nameof(configuration.Url), () => { KassaConfigurationValidator.Validate(configuration); }); }
public void Validate_UrlIsNull_ThrowsException() { KassaConfiguration configuration = new KassaConfiguration() { KeyVersion = 1, MerchantId = "merchant", SecretKey = "secret", Url = null }; ExceptionAssert.ThrowsNullValidationException(nameof(configuration.Url), () => { KassaConfigurationValidator.Validate(configuration); }); }
public void Validate_SecretKeyIsEmpty_ThrowsException() { KassaConfiguration configuration = new KassaConfiguration() { KeyVersion = 1, MerchantId = "merchant", SecretKey = string.Empty, Url = new Uri("https://www.github.com") }; ExceptionAssert.ThrowsEmptyValidationException(nameof(configuration.SecretKey), () => { KassaConfigurationValidator.Validate(configuration); }); }
public void Validate_MerchantIdHasNonAlphanumericCharacter_ThrowsException() { KassaConfiguration configuration = new KassaConfiguration() { KeyVersion = 1, MerchantId = "%", SecretKey = "secret", Url = new Uri("https://www.github.com") }; ExceptionAssert.ThrowsAlphanumericValidationException(nameof(configuration.MerchantId), () => { KassaConfigurationValidator.Validate(configuration); }); }
public void Validate_MerchantIdIsLongerThanMaxLength_ThrowsException() { KassaConfiguration configuration = new KassaConfiguration() { KeyVersion = 1, MerchantId = "1234567890123456", SecretKey = "secret", Url = new Uri("https://www.github.com") }; ExceptionAssert.ThrowsLengthValidationException(nameof(configuration.MerchantId), 15, () => { KassaConfigurationValidator.Validate(configuration); }); }