public void RemovePilotFromCrewRemovesCrewPilot() { Pilot testPilot = new Pilot { BirthDate = new DateTime(2000, 11, 1), Experience = 2, FirstName = "Jonh", SecondName = "Smith" }; _dataContext.Pilots.Add(testPilot); _dataContext.SaveChanges(); Crew crew = new Crew() { Name = "Pilot John's crew" }; _dataContext.Crews.Add(crew); _dataContext.SaveChanges(); var crewPilotToAdd = new CrewPilot { Crew = crew, CrewId = crew.Id, Pilot = testPilot, PilotId = testPilot.Id }; crew.CrewPilot = crewPilotToAdd; _dataContext.Crews.Update(crew); _dataContext.SaveChanges(); var crewFromDatabase = _dataContext.Crews.Find(crew.Id); Assert.IsNotNull(crewFromDatabase.CrewPilot); _dataContext.Pilots.Remove(testPilot); _dataContext.SaveChanges(); crewFromDatabase = _dataContext.Crews.Find(crew.Id); Assert.IsNull(crewFromDatabase.CrewPilot); }
public void CannotDeleteFlightIfDepartureExists() { var testFlight = new Flight { Destination = "Lviv", Number = "GCK208", PlaceDeparture = "Kyiv", TimeDeparture = new DateTime(2018, 7, 5, 9, 30, 0), TimeDestination = new DateTime(2018, 7, 5, 11, 30, 0) }; _dataContext.Flights.Add(testFlight); _dataContext.SaveChanges(); Crew crew = new Crew() { Name = "Pilot John's crew" }; _dataContext.Crews.Add(crew); _dataContext.SaveChanges(); Pilot testPilot = new Pilot { BirthDate = new DateTime(2000, 11, 1), Experience = 2, FirstName = "Jonh", SecondName = "Smith" }; _dataContext.Pilots.Add(testPilot); _dataContext.SaveChanges(); var crewPilotToAdd = new CrewPilot { Crew = crew, CrewId = crew.Id, Pilot = testPilot, PilotId = testPilot.Id }; crew.CrewPilot = crewPilotToAdd; _dataContext.Crews.Update(crew); _dataContext.SaveChanges(); var planeType = new PlaneType() { CarryingCapacity = 10, PlaneModel = "Passanger", PlacesAmount = 100 }; _dataContext.PlaneTypes.Add(planeType); _dataContext.SaveChanges(); var plane = new Plane { LifeSpan = 10, ManufectureDate = new DateTime(1995, 12, 1), PlaneName = "Litachok", PlaneTypeId = planeType.Id }; _dataContext.Planes.Add(plane); _dataContext.SaveChanges(); var departure = new Departure() { CrewId = crew.Id, DepartureDate = DateTime.Now, FlightId = testFlight.Id, PlaneId = plane.Id }; _dataContext.Departures.Add(departure); _dataContext.SaveChanges(); var flightFromDb = _dataContext.Flights.Find(testFlight.Id); _dataContext.Flights.Remove(flightFromDb); _dataContext.SaveChanges(); }