public async void StripeTransactionId_Update_null()
        {
            Mock <ITransactionRepository> transactionRepository = new Mock <ITransactionRepository>();

            transactionRepository.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(new Transaction()));

            var validator = new ApiTransactionServerRequestModelValidator(transactionRepository.Object);
            await validator.ValidateUpdateAsync(default(int), new ApiTransactionServerRequestModel());

            validator.ShouldHaveValidationErrorFor(x => x.StripeTransactionId, null as string);
        }
        public async void TransactionStatusId_Create_Valid_Reference()
        {
            Mock <ITransactionRepository> transactionRepository = new Mock <ITransactionRepository>();

            transactionRepository.Setup(x => x.TransactionStatusByTransactionStatusId(It.IsAny <int>())).Returns(Task.FromResult <TransactionStatus>(new TransactionStatus()));

            var validator = new ApiTransactionServerRequestModelValidator(transactionRepository.Object);
            await validator.ValidateCreateAsync(new ApiTransactionServerRequestModel());

            validator.ShouldNotHaveValidationErrorFor(x => x.TransactionStatusId, 1);
        }
        public async void ArtistId_Update_Valid_Reference()
        {
            Mock <ITransactionRepository> transactionRepository = new Mock <ITransactionRepository>();

            transactionRepository.Setup(x => x.ArtistByArtistId(It.IsAny <int>())).Returns(Task.FromResult <Artist>(new Artist()));

            var validator = new ApiTransactionServerRequestModelValidator(transactionRepository.Object);
            await validator.ValidateUpdateAsync(default(int), new ApiTransactionServerRequestModel());

            validator.ShouldNotHaveValidationErrorFor(x => x.ArtistId, 1);
        }
        public async void GatewayConfirmationNumber_Update_length()
        {
            Mock <ITransactionRepository> transactionRepository = new Mock <ITransactionRepository>();

            transactionRepository.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(new Transaction()));

            var validator = new ApiTransactionServerRequestModelValidator(transactionRepository.Object);
            await validator.ValidateUpdateAsync(default(int), new ApiTransactionServerRequestModel());

            validator.ShouldHaveValidationErrorFor(x => x.GatewayConfirmationNumber, new string('A', 2));
        }