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());
        }
Exemple #2
0
        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());
        }