public void ShouldSendRentalViewModelMessageWithContinueRentalPropertyIfDriverHasActiveRental() { //assign var driverId = Guid.NewGuid(); var driverViewModel = new DriverViewModel() { Id = driverId }; var activeRentalDto = new RentalDTO(); _rentalServiceMock.GetActiveRentalForDriver(driverId).Returns(activeRentalDto); var activeRentalViewModel = new RentalViewModel(); _rentalViewModelMapperMock.Map(activeRentalDto).Returns(activeRentalViewModel); //act var sut = new RentCarViewModel(_carServiceMock, _rentalServiceMock, _carViewModelMapperMock, _rentalViewModelMapperMock, _messengerServiceMock); sut.AssignLoggedInDriver(driverViewModel); //assert _messengerServiceMock.Received().Send(Arg.Is <RentalViewModelMessage>(message => message.RentalViewModel == activeRentalViewModel && message.MessageType == RentalViewModelMessageType.ContinueRental)); _messengerServiceMock.Received().Send(Arg.Is <NotificationMessage>(message => message.Notification == "Start Car Rental")); }
public void ShouldUpdatePropertiesAccordinglyToDriverStatusWhenAssigningLoggedInDriver(DriverStatus driverStatus, string driverBannedError, bool isCarListEnabled) { var driverViewModel = new DriverViewModel() { DriverStatus = driverStatus }; var sut = new RentCarViewModel(_carServiceMock, _rentalServiceMock, _carViewModelMapperMock, _rentalViewModelMapperMock, _messengerServiceMock); sut.AssignLoggedInDriver(driverViewModel); Assert.AreEqual(driverBannedError, sut.DriverBannedError); Assert.AreEqual(sut.IsCarListEnabled, isCarListEnabled); }
public void ShouldNotSendRentalViewModelMessageWithContinueRentalPropertyIfDriverDoesntHaveActiveRental() { var driverId = Guid.NewGuid(); var driverViewModel = new DriverViewModel { Id = driverId }; var sut = new RentCarViewModel(_carServiceMock, _rentalServiceMock, _carViewModelMapperMock, _rentalViewModelMapperMock, _messengerServiceMock); sut.AssignLoggedInDriver(driverViewModel); _messengerServiceMock.DidNotReceive().Send(Arg.Any <RentalViewModelMessage>()); _messengerServiceMock.DidNotReceive().Send(Arg.Is <NotificationMessage>(message => message.Notification == "Start Car Rental")); }