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); }
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); }