public void CreateRentalWillCreateRentalObject()
        {
            //Arrange
            var testHelper = new TestHelper();
            var testData = testHelper.CreateEquipmentList();

            IRentalRepository rentalRepository = Substitute.For<IRentalRepository>();

            IUnitOfWork uow = Substitute.For<IUnitOfWork>();
            uow.RentalRepository.Returns(rentalRepository);

            RentalService rs = new RentalService(uow);

            Rental rental = new Rental();
            rental.CustomerName = "Johan Eriksson";
            rental.CustomerPhoneNumber = "0705556677";
            rental.StartTime = DateTime.Now;
            rental.EquipmentId = testData[0].Id;

            RentalPlan rp = new RentalPlan();
            rp.Id = 1;
            rp.Duration = 8;
            rp.Discount = 0;

            rental.RentalPlanId = rp.Id;

            //Act
            rs.CreateRental(rental);

            //Assert
            rentalRepository.Received().CreateRental(rental);
        }
        public void CreateRentalWithRentedEquipmentShouldFail()
        {
            //Arrange
            IRentalRepository rentalRepository = Substitute.For< IRentalRepository >();
            rentalRepository.GetRentalByEquipmentId(2).Returns(new Rental());

            IUnitOfWork uow = Substitute.For<IUnitOfWork>();
            uow.RentalRepository.Returns(rentalRepository);

            RentalService rs = new RentalService(uow);

            //Act
            var result = rs.CreateRental(new Rental { EquipmentId = 2 });

            //Assert
            result.Should().Be(CreateRentalResult.EquipmentIsAlreadyRented);
        }