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 void OrderTrip_ShouldAttachCustomerToTheTrip() { // Arrange var customer = new Domain.Core.Customer().WithName("Dan").Is(Gender.Male) as Domain.Core.Customer; var trip = new Domain.Core.Trip().IsFrom("Kyiv").IsTo("Brovary"); _unitOfWork.Trips.Get(trip.Id).Returns(trip); // Act var service = new TripService(_unitOfWork, _mapper); service.OrderTrip(trip.Id, customer); // Assert trip.Customer.Should().BeEquivalentTo(customer); }
public void CreateTrip(Domain.Core.Trip trip) { trip.CheckForNull(); var dbTrip = UnitOfWork.Trips.GetAll().FirstOrDefault(x => x.Id == trip.Id); if (dbTrip != null) { if (dbTrip.Driver != null) { throw new InvalidOperationException("Trip already exists"); } UnitOfWork.Trips.Update(trip); } else { UnitOfWork.Trips.Create(trip); } UnitOfWork.SaveChanges(); }