public void GetCar_Must_Throw_Exception_When_Car_Does_Not_Belong_To_User()
        {
            //Arrange
            var userId  = "1";
            var carId   = 1;
            var userCar = UserCarUtils.CreateWithUser("another");

            _userManagerMock.Setup(act => act.IsUserInRegularRole(userId));

            var repository = new Mock <IUserCarRepository>();

            repository.Setup(act => act.Get(carId)).Returns(userCar);
            _unitOfWorkMock.Setup(act => act.Repository <IUserCarRepository>()).Returns(repository.Object);

            //Act
            var exception = Assert.Throws <BusinessFaultException>(() => _manager.GetCar(carId, userId));

            //Assert
            Assert.AreEqual(BusinessLogicExceptionResources.CarDoesNotBelongToUser, exception.Message);
        }
        public void RestoreCar_Must_Restore_User_Car()
        {
            //Arrange
            var userId  = "1";
            var carId   = 1;
            var userCar = UserCarUtils.CreateWithUser(userId);

            _userManagerMock.Setup(act => act.IsUserInRegularRole(userId));

            var repository = new Mock <IUserCarRepository>();

            repository.Setup(act => act.Get(carId)).Returns(userCar);
            repository.Setup(act => act.Update(userCar));
            _unitOfWorkMock.Setup(act => act.Repository <IUserCarRepository>()).Returns(repository.Object);

            //Act
            Assert.DoesNotThrow(() => _manager.RestoreCar(carId, userId));

            //Assert
            repository.Verify(act => act.Get(carId), Times.Once);
            repository.Verify(act => act.Update(userCar), Times.Once);
            _unitOfWorkMock.Verify(act => act.Repository <IUserCarRepository>(), Times.Once);
            _unitOfWorkMock.Verify(act => act.SaveChanges(), Times.Once);
        }