public async Task ShouldThrowRecordExistingException_WhenCreateAndRecordExists()
        {
            await ResetDatabase();

            var creditCards = await CreditCardDataFactory.CreateCreditCards(Connection, 1);

            await Assert.ThrowsAsync <CreditCardRecordExistingException>(() =>
                                                                         _creditCardRepository.Create(creditCards.First()));
        }
        public async Task Give5RecordExistsShouldReturn_WhenCallingGetById()
        {
            await ResetDatabase();

            var creditCards = await CreditCardDataFactory.CreateCreditCards(Connection, 5);

            var random     = new Random().Next(0, 4);
            var oneOfCards = creditCards.Take(random).First();
            var result     = await _creditCardRepository.GetById(oneOfCards.Id);

            Assert.Equal(oneOfCards.Id, result.Id);
            Assert.Equal(oneOfCards.Name, result.Name);
            Assert.Equal(oneOfCards.CardNumber, result.CardNumber);
            Assert.Equal(oneOfCards.EncryptedCvc, result.EncryptedCvc);
            Assert.Equal(oneOfCards.ExpiryDate, result.ExpiryDate);
        }
        public async Task Give5RecordExistsShouldReturn_WhenCallingGet()
        {
            await ResetDatabase();

            var creditCards = await CreditCardDataFactory.CreateCreditCards(Connection, 5);

            var result = await _creditCardRepository.Get();

            foreach (var verifyModel in creditCards.Select(dbModel => result.Where(r =>
                                                                                   r.CardNumber == dbModel.CardNumber &&
                                                                                   r.EncryptedCvc == dbModel.EncryptedCvc &&
                                                                                   r.CvcSalt == dbModel.CvcSalt &&
                                                                                   r.Name == dbModel.Name &&
                                                                                   r.ExpiryDate == dbModel.ExpiryDate)))
            {
                Assert.NotNull(verifyModel);
            }
        }