public async void HandleReturnBookCommand_WithInvalidLoan_ShouldReturnInvalidLoan() { //Arrange TestBaseArrangements baseArrangements = new TestBaseArrangements(); ReturnBookCommand returnBookCommand = new ReturnBookCommand(Guid.NewGuid().ToString()); var sut = baseArrangements.Mocker.CreateInstance <ReturnBookCommandHandler>(); baseArrangements.Mocker.GetMock <IBookLoanRepository>() .Setup(p => p.GetByLoanId(It.IsAny <Guid>(), It.IsAny <bool>())) .Returns(() => Task.FromResult <BookLoan>(null)); //Act ReturnBookCommandResponseViewModel result = await sut.Handle(returnBookCommand, new CancellationToken()); //Assert baseArrangements.DomainNotifications.GetAll().Should().NotBeNullOrEmpty() .And.Contain(x => x == "Book loan not found"); baseArrangements.Mocker.GetMock <IBookLoanRepository>().Verify(x => x.Update(It.IsAny <BookLoan>()), Times.Never()); }
public async void HandleReturnBookCommand_WithValidInfos_ShouldReturnNoErrors() { //Arrange ReturnBookCommand returnBookCommand = new ReturnBookCommand(Guid.NewGuid().ToString()); var sut = Mocker.CreateInstance <ReturnBookCommandHandler>(); BookLoan bookLoan = BookLoanFactory.ReturnLoan(); bookLoan.Book.WithBookSituation(BookSituationEnum.Lent); Mocker.GetMock <IBookLoanRepository>() .Setup(p => p.GetByLoanId(It.IsAny <Guid>(), It.IsAny <bool>())) .Returns(() => Task.FromResult <BookLoan>(bookLoan)); //Act ReturnBookCommandResponseViewModel result = await sut.Handle(returnBookCommand, new CancellationToken()); //Assert DomainNotifications.GetAll().Should().BeEmpty(); Mocker.GetMock <IBookLoanRepository>().Verify(x => x.Update(It.IsAny <BookLoan>()), Times.Once()); }