public void CreateTrip_ShoulThrowException_WhenTripIsNull() { // Arange var service = new TripService(_unitOfWork, _mapper); // Act Action action = () => service.CreateTrip(null); // Assert action.Should().Throw <ArgumentNullException>(); }
public void CreateTrip_ShoulThrowException_WhenTripExists() { var trip = new Domain.Core.Trip().IsFrom("Kyiv").IsTo("Brovary").WithDriver(new Domain.Core.Driver()); _unitOfWork.Trips.GetAll().Returns(new List <Domain.Core.Trip> { trip }); var service = new TripService(_unitOfWork, _mapper); Action action = () => service.CreateTrip(trip); action.Should().Throw <InvalidOperationException>(); }
public async Task <ActionResult <Trip> > PostTrip(TripReqDTO tripDTO) { try { var trip = await _tripService.CreateTrip(tripDTO); return(CreatedAtAction("PostTrip", trip)); } catch (InvalidOperationException exp) { return(BadRequest(exp.Message)); } }
public void NotCallCreateCityFromCityService_WhenOriginAndDestinationNamesExistInDB() { // Arrange var mockedTripRepo = new Mock <IProjectableRepositoryEf <Trip> >(); var mockedUserTripRepo = new Mock <IProjectableRepositoryEf <UsersTrips> >(); var mockedCityService = new Mock <ICityService>(); var mockedTagService = new Mock <ITagService>(); var mockedDateTimpeProvider = new Mock <IDateTimeProvider>(); var mockedMappingProvider = new Mock <IMappingProvider>(); var mockedUnitOfWork = new Mock <IUnitOfWorkEF>(); var tripService = new TripService( () => mockedUnitOfWork.Object, mockedUserTripRepo.Object, mockedCityService.Object, mockedMappingProvider.Object, mockedTagService.Object, mockedTripRepo.Object, mockedDateTimpeProvider.Object); var tripCreatingInfo = new TripCreationInfo() { OriginName = "Sofia", DestinationName = "Pazardzhik" }; City originCity = new City() { Name = tripCreatingInfo.OriginName }; mockedCityService.Setup(x => x.GetCityByName(tripCreatingInfo.DestinationName)) .Returns(originCity); City destinationCity = new City() { Name = tripCreatingInfo.DestinationName }; mockedCityService.Setup(x => x.GetCityByName(tripCreatingInfo.OriginName)) .Returns(destinationCity); mockedMappingProvider.Setup(x => x.Map <TripCreationInfo, Trip>(tripCreatingInfo)).Returns(new Trip()); // Act tripService.CreateTrip(tripCreatingInfo); // Assert mockedCityService.Verify(x => x.CreateCity(tripCreatingInfo.DestinationName), Times.Never); mockedCityService.Verify(x => x.CreateCity(tripCreatingInfo.OriginName), Times.Never); }
public void CreateTrip_POST() { var airSegment = new AirSegment() { ArrivalAirportCode = RandomHelper.GetRandomGuid(), ArrivalDate = "Jan 20, 2020, 12:30:00", DepartureAirportCode = RandomHelper.GetRandomGuid(), DepartureDate = "Jan 20, 2020, 12:30:00" }; var traveller = new Traveller() { FirstName = "JOE", LastName = "Soda", PersonalNumber = 5, Email = "*****@*****.**" }; Trip trip = new Trip() { Id = RandomHelper.GetRandomGuid(), BookingDate = "Jan 20, 2020, 12:30:00", AirSegments = new List <AirSegment>() { airSegment }, Travellers = new List <Traveller>() { traveller } }; var response = TripService.CreateTrip(trip); DataCollectionClass <Trip> dataCollection = JsonHelper.Deserialize <Trip>(); dataCollection.DataCollection.Add(trip); JsonHelper.Serialize <Trip>(dataCollection); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "Incorrect creating of trip"); }
public void CallCreateNewCity_WhenOriginCityFromTheInputIsNotPresentInTheDb() { // Arrange var mockedTripRepo = new Mock <IProjectableRepositoryEf <Trip> >(); var mockedUserTripRepo = new Mock <IProjectableRepositoryEf <UsersTrips> >(); var mockedCityService = new Mock <ICityService>(); var mockedTagService = new Mock <ITagService>(); var mockedDateTimpeProvider = new Mock <IDateTimeProvider>(); var mockedMappingProvider = new Mock <IMappingProvider>(); var mockedUnitOfWork = new Mock <IUnitOfWorkEF>(); var tripService = new TripService( () => mockedUnitOfWork.Object, mockedUserTripRepo.Object, mockedCityService.Object, mockedMappingProvider.Object, mockedTagService.Object, mockedTripRepo.Object, mockedDateTimpeProvider.Object); var tripCreatingInfo = new TripCreationInfo() { OriginName = "Sofia", DestinationName = "Pazardzhik" }; City city = null; mockedCityService.Setup(x => x.GetCityByName(tripCreatingInfo.OriginName)) .Returns(city); mockedMappingProvider.Setup(x => x.Map <TripCreationInfo, Trip>(tripCreatingInfo)).Returns(new Trip()); // Act tripService.CreateTrip(tripCreatingInfo); // Assert mockedCityService.Verify(x => x.CreateCity(tripCreatingInfo.OriginName), Times.Once); }
public Trip CreateTrip([FromBody] TripRequest trip) { return(TripService.CreateTrip(trip)); }
public Trip Post([FromBody] Trip value) { return(tripService.CreateTrip(value)); }
public ActionResult <Trip> CreateTrip(Trip trip) { string id = User.FindFirst(ClaimTypes.NameIdentifier)?.Value; return(Ok(_tripService.CreateTrip(id, trip))); }
public void CreateTripWithAllPropertiesFromMethodParameter() { // Arrange var mockedTripRepo = new Mock <IProjectableRepositoryEf <Trip> >(); var mockedUserTripRepo = new Mock <IProjectableRepositoryEf <UsersTrips> >(); var mockedCityService = new Mock <ICityService>(); var mockedTagService = new Mock <ITagService>(); var mockedDateTimpeProvider = new Mock <IDateTimeProvider>(); var mockedMappingProvider = new Mock <IMappingProvider>(); var mockedUnitOfWork = new Mock <IUnitOfWorkEF>(); var tripService = new TripService( () => mockedUnitOfWork.Object, mockedUserTripRepo.Object, mockedCityService.Object, mockedMappingProvider.Object, mockedTagService.Object, mockedTripRepo.Object, mockedDateTimpeProvider.Object); var tripCreatingInfo = new TripCreationInfo() { OriginName = "Sofia", DestinationName = "Pazardzhik", TagIds = new List <int>(), Description = "test", Price = 4, CarId = 1, TotalSeats = 2, TimeOfDeparture = DateTime.Now, DriverId = "1" }; City originCity = new City() { Name = tripCreatingInfo.OriginName }; mockedCityService.Setup(x => x.GetCityByName(tripCreatingInfo.DestinationName)) .Returns(originCity); City destinationCity = new City() { Name = tripCreatingInfo.DestinationName }; mockedCityService.Setup(x => x.GetCityByName(tripCreatingInfo.OriginName)) .Returns(destinationCity); var foundTags = new List <Tag>(); mockedTagService.Setup(x => x.GetTagsByIds(tripCreatingInfo.TagIds)).Returns(foundTags); var dateCreated = DateTime.Now; mockedDateTimpeProvider.Setup(x => x.Now).Returns(dateCreated); var trip = new Trip() { Tags = foundTags, Origin = originCity, Destination = destinationCity, CarId = tripCreatingInfo.CarId, Price = tripCreatingInfo.Price, TotalSeats = tripCreatingInfo.TotalSeats, TimeOfDeparture = tripCreatingInfo.TimeOfDeparture, TakenSeats = 0, Description = tripCreatingInfo.Description, IsDeleted = false, IsReported = false, IsFinished = false, DateCreated = DateTime.UtcNow, }; mockedMappingProvider.Setup(x => x.Map <TripCreationInfo, Trip>(tripCreatingInfo)) .Returns(trip); // Act tripService.CreateTrip(tripCreatingInfo); var createdTripUserTrips = trip.TripsUsers.FirstOrDefault(x => x.Trip == trip); // Assert Assert.AreEqual(createdTripUserTrips.UserTripStatusId, (int)UserTripStatusType.Owner); Assert.AreEqual(createdTripUserTrips.UserId, tripCreatingInfo.DriverId); Assert.AreEqual(createdTripUserTrips.Trip, trip); Assert.AreEqual(tripCreatingInfo.CarId, trip.CarId); Assert.AreEqual(tripCreatingInfo.Price, trip.Price); Assert.AreEqual(0, trip.TakenSeats); Assert.AreEqual(tripCreatingInfo.TotalSeats, trip.TotalSeats); Assert.AreEqual(tripCreatingInfo.TimeOfDeparture, trip.TimeOfDeparture); Assert.AreEqual(dateCreated, trip.DateCreated); Assert.IsFalse(trip.IsDeleted); Assert.IsFalse(trip.IsFinished); Assert.IsFalse(trip.IsReported); mockedTripRepo.Verify(x => x.Add(trip), Times.Once); mockedUnitOfWork.Verify(x => x.Commit(), Times.Once); }
public void CreateTripWithoutTags_WhenThereAreNotagsProvider() { // Arrange var mockedTripRepo = new Mock <IProjectableRepositoryEf <Trip> >(); var mockedUserTripRepo = new Mock <IProjectableRepositoryEf <UsersTrips> >(); var mockedCityService = new Mock <ICityService>(); var mockedTagService = new Mock <ITagService>(); var mockedDateTimpeProvider = new Mock <IDateTimeProvider>(); var mockedMappingProvider = new Mock <IMappingProvider>(); var mockedUnitOfWork = new Mock <IUnitOfWorkEF>(); var tripService = new TripService( () => mockedUnitOfWork.Object, mockedUserTripRepo.Object, mockedCityService.Object, mockedMappingProvider.Object, mockedTagService.Object, mockedTripRepo.Object, mockedDateTimpeProvider.Object); var tripCreatingInfo = new TripCreationInfo() { OriginName = "Sofia", DestinationName = "Pazardzhik", TagIds = new List <int>() }; City originCity = new City() { Name = tripCreatingInfo.OriginName }; mockedCityService.Setup(x => x.GetCityByName(tripCreatingInfo.DestinationName)) .Returns(originCity); City destinationCity = new City() { Name = tripCreatingInfo.DestinationName }; mockedCityService.Setup(x => x.GetCityByName(tripCreatingInfo.OriginName)) .Returns(destinationCity); var foundTags = new List <Tag>(); mockedTagService.Setup(x => x.GetTagsByIds(tripCreatingInfo.TagIds)).Returns(foundTags); var trip = new Trip() { Tags = foundTags }; mockedMappingProvider.Setup(x => x.Map <TripCreationInfo, Trip>(tripCreatingInfo)) .Returns(trip); // Act tripService.CreateTrip(tripCreatingInfo); // Assert mockedTripRepo.Verify(x => x.Add(trip), Times.Once); mockedUnitOfWork.Verify(x => x.Commit(), Times.Once); }
public ActionResult BookCab([FromQuery] string riderId, [FromQuery] double sourceX, [FromQuery] double sourceY, [FromQuery] double destX, [FromQuery] double destY) { _tripService.CreateTrip(_riderService.GetRider(riderId), new Location(sourceX, sourceY), new Location(destX, destY)); return(Ok()); }