コード例 #1
0
        public void ShouldBeValid()
        {
            // Arrange

            // Act

            ValidationResult validationResult = SendValidator.Validate(SendAction);

            // Assert
            validationResult.IsValid.ShouldBe(true);
        }
コード例 #2
0
        public void FeeIsRequired()
        {
            // Arrange
            SendAction.Fee = null;

            // Act
            ValidationResult validationResult = SendValidator.Validate(SendAction);

            // Assert
            validationResult.IsValid.ShouldBe(false);
            validationResult.Errors.Count.ShouldBe(1);
            ValidationFailure validationFailure = validationResult.Errors[0];

            validationFailure.PropertyName.ShouldBe(nameof(SendAction.Fee));
            validationFailure.ErrorCode.ShouldBe(nameof(NotEmptyValidator));
            validationFailure.Severity.ShouldBe(Severity.Error);
        }
コード例 #3
0
        public void WalletMustExist()
        {
            SendAction.EdgeCurrencyWalletId = "x";

            // Act

            ValidationResult validationResult = SendValidator.Validate(SendAction);

            // Assert
            validationResult.IsValid.ShouldBe(false);
            validationResult.Errors.Count.ShouldBe(1);

            ValidationFailure validationFailure = validationResult.Errors[0];

            validationFailure.PropertyName.ShouldBe(nameof(SendAction.EdgeCurrencyWalletId));
            validationFailure.ErrorCode.ShouldBe(nameof(PredicateValidator));
            validationFailure.Severity.ShouldBe(Severity.Error);
        }
コード例 #4
0
        public void NativeAmountMustBeGreaterThanZero()
        {
            // Arrange
            SendAction.NativeAmount = "0000";

            // Act

            ValidationResult validationResult = SendValidator.Validate(SendAction);

            // Assert
            validationResult.IsValid.ShouldBe(false);
            validationResult.Errors.Count.ShouldBe(1);
            ValidationFailure validationFailure = validationResult.Errors[0];

            validationFailure.PropertyName.ShouldBe(nameof(SendAction.NativeAmount));
            validationFailure.ErrorCode.ShouldBe(nameof(PredicateValidator));
            validationFailure.Severity.ShouldBe(Severity.Error);
        }
コード例 #5
0
        public void DestinationAddressMustBeValid()
        {
            // Arrange

            SendAction.DestinationAddress = "ThisIsNotValid";

            // Act
            ValidationResult validationResult = SendValidator.Validate(SendAction);

            // Assert
            validationResult.IsValid.ShouldBe(false);
            validationResult.Errors.Count.ShouldBe(1);
            ValidationFailure validationFailure = validationResult.Errors[0];

            validationFailure.PropertyName.ShouldBe(nameof(SendAction.DestinationAddress));
            validationFailure.ErrorCode.ShouldBe(nameof(PredicateValidator));
            validationFailure.Severity.ShouldBe(Severity.Error);
        }
コード例 #6
0
        public void DestinationAddressIsRequired()
        {
            // Arrange

            SendAction.DestinationAddress = "";

            // Act
            ValidationResult validationResult = SendValidator.Validate(SendAction);

            // Assert
            validationResult.IsValid.ShouldBe(false);
            validationResult.Errors.Count.ShouldBeGreaterThan(0);
            ValidationFailure validationFailure = validationResult.Errors
                                                  .First(aValidationFailure => aValidationFailure.ErrorCode == nameof(NotEmptyValidator));

            validationFailure.PropertyName.ShouldBe(nameof(SendAction.DestinationAddress));
            validationFailure.ErrorCode.ShouldBe(nameof(NotEmptyValidator));
            validationFailure.Severity.ShouldBe(Severity.Error);
        }
コード例 #7
0
        public void CurrencyCodeMustBeValid()
        {
            // Arrange

            SendAction.CurrencyCode = "BAD";

            // Act

            ValidationResult validationResult = SendValidator.Validate(SendAction);

            // Assert
            validationResult.IsValid.ShouldBe(false);
            validationResult.Errors.Count.ShouldBe(1);
            ValidationFailure validationFailure = validationResult.Errors[0];

            validationFailure.PropertyName.ShouldBe(string.Empty);
            validationFailure.ErrorCode.ShouldBe(nameof(PredicateValidator));
            validationFailure.Severity.ShouldBe(Severity.Error);
        }
コード例 #8
0
        public void NativeAmountMustBeLessThanBalance()
        {
            // Arrange
            SendAction.NativeAmount = $"1{AgldStartBalance}"; // Greater than Balance

            // Act

            ValidationResult validationResult = SendValidator.Validate(SendAction);

            // Assert
            validationResult.IsValid.ShouldBe(false);
            validationResult.Errors.Count.ShouldBe(1);

            ValidationFailure validationFailure = validationResult.Errors[0];

            validationFailure.PropertyName.ShouldBe(string.Empty);
            validationFailure.ErrorCode.ShouldBe(nameof(PredicateValidator));
            validationFailure.Severity.ShouldBe(Severity.Error);
        }