Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void Constructor_ConfigurationIsInvalid_ThrowsException()
        {
            KassaConfiguration configuration = new KassaConfiguration();

            ExceptionAssert.Throws <InvalidOperationException>("The value for MerchantId should not be null.", () =>
            {
                new Kassa(configuration);
            });
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
            });
        }