public void CreateRideBooking_ShouldWork()
        {
            Booking SampleBooking = BookingTestingData.GetSampleBooking();

            User SampleUser = UserTestingData.GetSampleUser();

            OfferRide SampleRide = RideOfferTestingData.GetSampleRideOffer();

            RideBooking SampleRideRequest = BookingTestingData.GetSampleRideBooking();

            using (var mock = AutoMock.GetStrict())
            {
                var TestService = mock.Create <BookingService>();

                mock.Mock <IRepositoryManager <Booking> >().Setup(x => x.Post(SampleBooking));

                mock.Mock <IMapper>().Setup(x => x.Map <RideBooking, Booking>(SampleRideRequest)).Returns(SampleBooking).Verifiable();

                mock.Mock <IRepositoryManager <User> >().Setup(x => x.Get(19)).Returns(SampleUser).Verifiable();

                mock.Mock <IRepositoryManager <User> >().Setup(x => x.Put(SampleUser)).Verifiable();

                mock.Mock <IRepositoryManager <OfferRide> >().Setup(x => x.Get(5)).Returns(SampleRide).Verifiable();

                mock.Mock <IRepositoryManager <OfferRide> >().Setup(x => x.Put(SampleRide)).Verifiable();

                TestService.CreateRideBooking(SampleRideRequest);

                mock.Mock <IRepositoryManager <Booking> >().Verify(x => x.Post(SampleBooking), Times.Exactly(1));
            }
        }
        public OfferRide ReturnSelectedRideObject(int index)
        {
            OfferRide ride = null;

            ride = AvailableRides[index - 1];
            return(ride);
        }
        public void GetBooking_ShouldWork()
        {
            Booking SampleBooking = BookingTestingData.GetSampleBooking();

            User SampleUser = UserTestingData.GetSampleUser();

            OfferRide SampleRide = RideOfferTestingData.GetSampleRideOffer();

            RideDetails SampleRideDetails = BookingTestingData.GetSampleRideDetails();

            using (var mock = AutoMock.GetStrict())
            {
                var TestService = mock.Create <BookingService>();

                mock.Mock <IRepositoryManager <Booking> >().Setup(x => x.Get(1)).Returns(SampleBooking);

                mock.Mock <IMapper>().Setup(x => x.Map <Booking, RideDetails>(SampleBooking)).Returns(SampleRideDetails).Verifiable();

                mock.Mock <IRepositoryManager <User> >().Setup(x => x.Get(22)).Returns(SampleUser).Verifiable();

                mock.Mock <IRepositoryManager <OfferRide> >().Setup(x => x.Get(5)).Returns(SampleRide).Verifiable();

                RideDetails Actual = TestService.GetBooking(1);

                Assert.True(Actual.Status == BookingStatus.Approved);

                mock.Mock <IRepositoryManager <Booking> >().Verify(x => x.Get(1), Times.Exactly(1));

                mock.Mock <IRepositoryManager <User> >().Verify(x => x.Get(22), Times.Exactly(1));
            }
        }
        public void GetAllBooking_ShouldWork()
        {
            List <Booking> SampleBookings = BookingTestingData.GetSampleBookings();

            User SampleUser = UserTestingData.GetSampleUser();

            OfferRide SampleRide = RideOfferTestingData.GetSampleRideOffer();

            RideDetails SampleRideDetails = BookingTestingData.GetSampleRideDetails();

            using (var mock = AutoMock.GetStrict())
            {
                var TestService = mock.Create <BookingService>();

                mock.Mock <IRepositoryManager <Booking> >().Setup(x => x.GetAll()).Returns(SampleBookings);

                mock.Mock <IMapper>().Setup(x => x.Map <Booking, RideDetails>(SampleBookings[0])).Returns(SampleRideDetails).Verifiable();

                mock.Mock <IRepositoryManager <User> >().Setup(x => x.Get(22)).Returns(SampleUser).Verifiable();

                mock.Mock <IRepositoryManager <OfferRide> >().Setup(x => x.Get(20)).Returns(SampleRide).Verifiable();

                List <RideDetails> Actual = TestService.GetAllBookings(19);

                Assert.Equal("3am-6am", Actual[0].Time);

                mock.Mock <IRepositoryManager <Booking> >().Verify(x => x.GetAll(), Times.Exactly(2));

                mock.Mock <IRepositoryManager <User> >().Verify(x => x.Get(22), Times.Exactly(1));
            }
        }
        public void SetBookingStatus_ShouldWork()
        {
            Booking SampleBooking = BookingTestingData.GetSampleBooking();

            User SampleUser = UserTestingData.GetSampleUser();

            OfferRide SampleRide = RideOfferTestingData.GetSampleRideOffer();

            RideDetails SampleRideDetails = BookingTestingData.GetSampleRideDetails();

            using (var mock = AutoMock.GetStrict())
            {
                var TestService = mock.Create <BookingService>();

                mock.Mock <IRepositoryManager <Booking> >().Setup(x => x.Get(1)).Returns(SampleBooking).Verifiable();

                mock.Mock <IRepositoryManager <Booking> >().Setup(x => x.Put(SampleBooking)).Verifiable();

                mock.Mock <IRepositoryManager <OfferRide> >().Setup(x => x.Get(15)).Returns(SampleRide).Verifiable();

                mock.Mock <IRepositoryManager <OfferRide> >().Setup(x => x.Put(SampleRide)).Verifiable();

                TestService.SetStatusOfBooking(1, 15, BookingStatus.Rejected);

                mock.Mock <IRepositoryManager <Booking> >().Verify(x => x.Put(SampleBooking), Times.Exactly(1));

                mock.Mock <IRepositoryManager <OfferRide> >().Verify(x => x.Get(15), Times.Exactly(1));
            }
        }
        public void CreateRideOffer_ShouldWork()
        {
            RideOffer SampleRideOffer = RideOfferTestingData.GetSampleRideOfferDetails();

            User SampleUser = UserTestingData.GetSampleUser();

            OfferRide SampleRide = RideOfferTestingData.GetSampleRideOffer();

            using (var mock = AutoMock.GetStrict())
            {
                var TestService = mock.Create <OfferRideService>();

                mock.Mock <IRepositoryManager <Place> >().Setup(x => x.AddRange(SampleRide.Route));

                mock.Mock <IMapper>().Setup(x => x.Map <RideOffer, OfferRide>(SampleRideOffer)).Returns(SampleRide).Verifiable();

                mock.Mock <IRepositoryManager <User> >().Setup(x => x.Get(19)).Returns(SampleUser).Verifiable();

                mock.Mock <IRepositoryManager <User> >().Setup(x => x.Put(SampleUser)).Verifiable();

                mock.Mock <IRepositoryManager <OfferRide> >().Setup(x => x.Post(SampleRide)).Verifiable();

                TestService.CreateRideOffer(19, SampleRideOffer);

                mock.Mock <IRepositoryManager <OfferRide> >().Verify(x => x.Post(SampleRide), Times.Exactly(1));
            }
        }
Beispiel #7
0
        public void CreateRideBooking(RideBooking booking)
        {
            Booking rideBooking = _mapper.Map <RideBooking, Booking>(booking);

            rideBooking.Id     = GenerateId();
            rideBooking.Status = BookingStatus.Requested;

            _repository.Post(rideBooking);

            User user = _userRepository.Get(rideBooking.BookingUserId);

            if (user != null)
            {
                user.LastBookingId = rideBooking.Id;
                _userRepository.Put(user);
            }

            OfferRide RideOffer = _rideOffersRepository.Get(booking.RideOfferId);

            if (RideOffer != null)
            {
                RideOffer.AvailableSeats = RideOffer.AvailableSeats - booking.Seats;
                _rideOffersRepository.Put(RideOffer);
            }
        }
        public OfferRide GetSampleRideOffer()
        {
            OfferRide TestRide = new OfferRide()
            {
                AvailableSeats  = 3,
                CarId           = 2,
                HostId          = 22,
                RideOfferedDate = DateTime.Now.Date,
                RideOfferId     = 20,
                Time            = "3am-6am",
                Route           = new List <Place>()
                {
                    new Place
                    {
                        AreaId      = 0,
                        AreaName    = "Ashoknagar",
                        RideOfferId = 0
                    },
                    new Place
                    {
                        AreaId      = 0,
                        AreaName    = "Sircilla",
                        RideOfferId = 0
                    },
                    new Place
                    {
                        AreaId      = 0,
                        AreaName    = "Venkampet",
                        RideOfferId = 0
                    }
                },
            };

            return(TestRide);
        }
 public void SaveBooking(OfferRide selectedRide, Booking selectedBooking, User selectedUser)
 {
     selectedBooking.Host     = selectedRide.Host;
     selectedBooking.Car      = selectedRide.Car;
     selectedBooking.RideFair = selectedRide.TotalRideFair;
     selectedBooking.Status   = BookingStatus.Requested;
     selectedBooking.BookingUser.LastBooking = selectedBooking;
     BookedRides.Add(selectedBooking);
     selectedRide.Bookings.Add(selectedBooking);
     selectedUser.LastBooking = selectedBooking;
 }
Beispiel #10
0
        public void SetStatusOfBooking(long bookingId, long rideOfferId, BookingStatus status)
        {
            Booking UserBooking = _repository.Get(bookingId);

            UserBooking.Status = status;
            _repository.Put(UserBooking);
            if (status == BookingStatus.Rejected)
            {
                OfferRide RideOffer = _rideOffersRepository.Get(rideOfferId);
                RideOffer.AvailableSeats = RideOffer.AvailableSeats + UserBooking.Seats;
                _rideOffersRepository.Put(RideOffer);
            }
        }
        public void CarDetails(string carName, CarTypes typeName, int seatCapcity)
        {
            OfferRide = new OfferRide();
            Car car = new Car
            {
                Name         = carName,
                TypeName     = typeName,
                SeatCapacity = seatCapcity,
            };

            Cars.Add(car);
            OfferRide.Car            = car;
            OfferRide.AvailableSeats = seatCapcity;
        }
Beispiel #12
0
        public void CreateRideOffer(long userId, RideOffer rideOffer)
        {
            OfferRide NewRideOffer = _mapper.Map <RideOffer, OfferRide>(rideOffer);

            NewRideOffer.RideOfferId = GenerateId();
            NewRideOffer.HostId      = userId;

            _repository.Post(NewRideOffer);

            foreach (string area in rideOffer.Route)
            {
                Place NewPlace = new Place
                {
                    AreaName    = area,
                    RideOfferId = NewRideOffer.RideOfferId
                };
                NewRideOffer.Route.Add(NewPlace);
            }
            _routeRepository.AddRange(NewRideOffer.Route);
            User user = _userRepository.Get(userId);

            user.LastOfferRideId = NewRideOffer.RideOfferId;
            _userRepository.Put(user);
        }