public void AddDriverTripDetailsForUnRegisteredDriver() { // arrange var driverName = "derian"; var unregisteredDriverName = "thanh"; string[] drivers = { $"Driver {driverName}" }; string[] tripDetails = { $"Trip {unregisteredDriverName} 15:05 15:16 38.0" }; var DriverObject = Fixture.Build <Driver>() .With(d => d.Name, driverName) .Create(); var TripObject = Fixture.Build <Trip>() .With(t => t.DriverName, driverName) .Create(); // add trip object to driver DriverObject.TripList.Add(TripObject); DriverRepository.Setup(x => x.RegisterNewDriver(It.IsAny <Driver>())).Returns(DriverObject); DriverRepository.Setup(x => x.AddDriverDetails(It.IsAny <Trip>())); var driverService = new DriverService(DriverRepository.Object, new Mock <ILogger <DriverService> >().Object); // act var driver = driverService.RegisterDrivers(drivers).FirstOrDefault(); Exception ex = Assert.Throws <ArgumentException>(() => driverService.AddDriverTripDetails(tripDetails)); // assert Assert.Equal($"Cannot add trip details for a non-existant user: {unregisteredDriverName}", ex.Message); }
public void AddDriverTripDetailsForRegisteredDriver() { // arrange var driverName = "derian"; string[] drivers = { $"Driver {driverName}" }; string[] tripDetails = { $"Trip {driverName} 15:05 15:16 38.0" }; var DriverObject = Fixture.Build <Driver>() .With(d => d.Name, driverName) .Create(); var TripObject = Fixture.Build <Trip>() .With(t => t.DriverName, driverName) .Create(); // add trip object to driver DriverObject.TripList.Add(TripObject); DriverRepository.Setup(x => x.RegisterNewDriver(It.IsAny <Driver>())).Returns(DriverObject); DriverRepository.Setup(x => x.GetRegisteredDriver(It.IsAny <string>())).Returns(DriverObject); DriverRepository.Setup(x => x.AddDriverDetails(It.IsAny <Trip>())); var driverService = new DriverService(DriverRepository.Object, new Mock <ILogger <DriverService> >().Object); // act var driver = driverService.RegisterDrivers(drivers).FirstOrDefault(); driverService.AddDriverTripDetails(tripDetails); // assert driver.Should().NotBeNull(); // verify driver name driver.Name.Should().Equals(driverName); // make sure driver has a trip attached driver.TripList.Count.Should().Equals(1); // verify name associated w/trip is same as driver's name driver.TripList.FirstOrDefault().DriverName.Should().Equals(driverName); }