private Photo GetPhotoFake()
        {
            User    user          = FakeBuilder.GetOwnerFake();
            Product productDomain = FakeBuilder.GetProductFake(user);

            return(new Photo(productDomain, "http://www.almacenfotos.com/foto"));
        }
        public async Task GivenBorrowServiceWhenCreateWithBorrowOwnerIsEqualProductOwnerThenInvalidOperationException()
        {
            User            user          = FakeBuilder.GetOwnerFake();
            Product         productDomain = FakeBuilder.GetProductFake(user);
            BorrowViewModel model         = FakeBuilder.GetBorrowViewModelFake(0, productDomain.ProductId);

            model.BorrowerId     = productDomain.OwnerId;
            model.ProductOwnerId = productDomain.OwnerId;

            this._mockUserManager.Setup(mock => mock.FindUserDomain(It.IsAny <ClaimsPrincipal>()))
            .Returns(Task.FromResult(user));

            this._mockProductRepository.Setup(mock => mock.Get(It.IsAny <int>()))
            .Returns(Task.FromResult(productDomain));

            await Assert.ThrowsAsync <BorrowerIsSameOwnerProductException>(() => this._borrowService.Create(new ClaimsPrincipal(), model));

            this._mockBorrowRepository.Verify(mock => mock.Save(It.IsAny <Borrow>()), Times.Never);
        }