Esempio n. 1
0
        public async Task ShouldReturnSingleModel()
        {
            var dbModel = CreditCardGenerator.CreateValidCreditCardFaker()
                          .RuleFor(r => r.Id, f => f.Random.Long())
                          .Generate();

            _respositoryMock.Setup(r => r.GetById(It.IsAny <long>())).ReturnsAsync(dbModel);

            var query = new GetCreditCardByIdQuery(dbModel.Id);

            var result = await _handler.Handle(query, CancellationToken.None);

            Assert.Equal(dbModel.Id, result.Id);
            Assert.Equal(dbModel.Name, result.Name);
            Assert.Equal(dbModel.CardNumber, result.CardNumber);
            Assert.Equal(dbModel.ExpiryDate, result.ExpiryDate);
        }
        public async Task ShouldCreateRecord_WhenRecordDoesNotExist()
        {
            await ResetDatabase();

            var creditCard = CreditCardGenerator.CreateValidCreditCardFaker().Generate();
            await _creditCardRepository.Create(creditCard);

            var result = await Connection.QueryFirstAsync(
                @"SELECT * FROM CreditCards where CardNumber=@CardNumber",
                new { creditCard.CardNumber });

            Assert.NotEqual(0L, result.Id);
            Assert.Equal(creditCard.Name, result.Name);
            Assert.Equal(creditCard.CardNumber, result.CardNumber);
            Assert.Equal(creditCard.EncryptedCvc, result.EncryptedCvc);
            Assert.Equal(creditCard.CvcSalt, result.CvcSalt);
            Assert.Equal(creditCard.ExpiryDate, result.ExpiryDate);
        }
Esempio n. 3
0
        public async Task ShouldReturnListOfOutputModel()
        {
            var dbModels = CreditCardGenerator.CreateValidCreditCardFaker().Generate(2);

            _respositoryMock.Setup(r => r.Get()).ReturnsAsync(dbModels);

            var result = (await _handler.Handle(_query, CancellationToken.None)).ToList();

            var expected1 = dbModels[0];
            var actual1   = result[0];

            Assert.True(expected1.CardNumber == actual1.CardNumber &&
                        expected1.Name == actual1.Name &&
                        expected1.ExpiryDate == actual1.ExpiryDate);

            var expected2 = dbModels[1];
            var actual2   = result[1];

            Assert.True(expected2.CardNumber == actual2.CardNumber &&
                        expected2.Name == actual2.Name &&
                        expected2.ExpiryDate == actual2.ExpiryDate);
        }