public async Task ShouldThrowRecordNotFoundException_WhenGetByIdReturnsNull() { _respositoryMock.Setup(r => r.GetById(It.IsAny <long>())).ReturnsAsync((CreditCard)null); var query = new GetCreditCardByIdQuery(123L); await Assert.ThrowsAsync <RecordNotFoundException>(() => _handler.Handle(query, CancellationToken.None)); }
public void ShouldCallRepositoryGetByIdMethod() { var id = 123L; var query = new GetCreditCardByIdQuery(id); _handler.Handle(query, CancellationToken.None); _respositoryMock.Verify(r => r.GetById(It.Is <long>(l => l == id)), Times.Once); }
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 <IActionResult> GetById(long id) { _logger.LogTrace("Begin: Get by Id"); try { var query = new GetCreditCardByIdQuery(id); var record = await _mediator.Send(query); return(Ok(record)); } catch (RecordNotFoundException) { _logger.LogTrace($"Record not found by id {id}"); return(NotFound()); } }