Пример #1
0
        public void CancelReservation_GivenValidDriveIdAndValidUserId_ShouldReturnTrueAndSuccessMessage()
        {
            // arrange
            int driveId = 1;
            int userId  = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns(new Drive()
            {
                Id               = driveId,
                DeclaredSeats    = 1,
                DrivesPassengers = new List <DrivesPassengers>()
                {
                    new DrivesPassengers()
                    {
                        DriveId = driveId, PassengerId = userId
                    }
                }
            });

            Mock <IUsersService> mockUsersService = new Mock <IUsersService>();

            mockUsersService.Setup(m => m.CheckIfUserExists(It.Is <int>(i => i == userId)))
            .Returns(true);

            IDrivesService service = new DrivesService(mockRepository.Object, null, mockUsersService.Object);

            // act
            var result = service.CancelReservation(driveId, userId);

            // assert
            result.Should().Equals(new KeyValuePair <bool, string>(true, "Your registration has been canceled."));
        }
Пример #2
0
        public void GetDeleteModelById_GivenValidId_ShouldReturnValidDriveDeleteViewModel()
        {
            // arrange
            int id = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == id)))
            .Returns(new Drive()
            {
                Id = id
            });

            IMapper mapper = new Mapper(new MapperConfiguration(cfg =>
                                                                cfg.CreateMap <Drive, DriveDeleteViewModel>()
                                                                .ForMember(dest => dest.From, opt => opt.MapFrom(source => source.From.Name))
                                                                .ForMember(dest => dest.To, opt => opt.MapFrom(source => source.To.Name))
                                                                .ForMember(dest => dest.DateTime, opt => opt.MapFrom(source => source.DateTime.ToString("o")))
                                                                .ForMember(dest => dest.Car, opt => opt.MapFrom(source => source.Car.Brand + " " + source.Car.CarModel + " (" + source.Car.Year + ")"))));

            IDrivesService service = new DrivesService(mockRepository.Object, mapper, null);

            // act
            var result = service.GetDeleteModelById(id);

            // assert
            result.Should().Equals(new DriveDeleteViewModel()
            {
                Id = id
            });
        }
Пример #3
0
        public void ReserveSeat_GivenUserIdWithReservation_ShouldReturnFalseAndErrorMessage()
        {
            // arrange
            int driveId = 1;
            int userId  = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns(new Drive()
            {
                Id = driveId,
                DrivesPassengers = new List <DrivesPassengers>()
                {
                    new DrivesPassengers()
                    {
                        DriveId = driveId, PassengerId = userId
                    }
                }
            });

            Mock <IUsersService> mockUsersService = new Mock <IUsersService>();

            mockUsersService.Setup(m => m.CheckIfUserExists(It.Is <int>(i => i == userId)))
            .Returns(true);

            IDrivesService service = new DrivesService(mockRepository.Object, null, mockUsersService.Object);

            // act
            var result = service.ReserveSeat(driveId, userId);

            // assert
            result.Should().Equals(new KeyValuePair <bool, string>(false, "You already have a reservation for the drive."));
        }
Пример #4
0
        public void GetAllAdmin_ShouldReturnAllDrivesAsAdminDriveIndexViewModel()
        {
            // arrange
            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetAll())
            .Returns(new List <Drive>()
            {
                new Drive()
                {
                    Id = 1
                },
                new Drive()
                {
                    Id = 2
                }
            }.AsQueryable());

            IMapper mapper = new Mapper(new MapperConfiguration(cfg =>
                                                                cfg.CreateMap <Drive, DriveAdminIndexViewModel>()
                                                                .ForMember(dest => dest.From, opt => opt.MapFrom(source => source.From.Name))
                                                                .ForMember(dest => dest.To, opt => opt.MapFrom(source => source.To.Name))
                                                                .ForMember(dest => dest.Date,
                                                                           opt => opt.MapFrom(source => source.DateTime.ToString("dd/MM/yyyy HH:mm")))));

            IDrivesService service = new DrivesService(mockRepository.Object, mapper, null);

            // act
            var result = service.GetAllAdmin().Count();

            // assert
            result.Should().Be(2);
        }
Пример #5
0
        private void InitializeInformations()
        {
            PleaseWaitWindow pleaseWaitWindow = new PleaseWaitWindow();

            pleaseWaitWindow.Show();

            SystemService systemService = new SystemService();

            systemService.InsertInformationsToListView(ref systemView);
            ProcessorService processorService = new ProcessorService();

            processorService.InsertInformationsToListView(ref processorView);
            MotherboardService motherboardService = new MotherboardService();

            motherboardService.InsertInformationsToListView(ref motherboardView);
            MemoryService memoryService = new MemoryService();

            memoryService.InsertInformationsToListView(ref memoryView);
            VideoAdapterService videoAdapterService = new VideoAdapterService();

            videoAdapterService.InsertInformationsToListView(ref videoAdapterView);
            AudioService audioService = new AudioService();

            audioService.InsertInformationsToListView(ref audioView);
            DrivesService drivesService = new DrivesService();

            drivesService.InsertInformationsToListView(ref drivesView);
            TemperatureService temperatureService = new TemperatureService();

            temperatureService.InsertInformationsToListView(ref temperatureView);

            pleaseWaitWindow.Close();
        }
Пример #6
0
        public async Task Update_GivenDataWithNullCar_ShouldReturnFalse()
        {
            // arrange
            DriveCreateEditViewModel model = new DriveCreateEditViewModel();
            ParsedDriveUpdateData    data  = new ParsedDriveUpdateData()
            {
                From = new City(),
                To   = new City(),
                Car  = null,
                Date = new DateTime()
            };
            int driveId = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns(new Drive()
            {
                Id = driveId
            });

            IDrivesService service = new DrivesService(mockRepository.Object, null, null);

            // act
            var result = await service.UpdateAsync(model, data, driveId);

            // assert
            result.Should().BeFalse();
        }
Пример #7
0
        public void ReserveSeat_GivenNonExistingUserId_ShouldReturnFalseAndErrorMessage()
        {
            // arrange
            int driveId = 1;
            int userId  = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns(new Drive()
            {
                Id = driveId
            });

            Mock <IUsersService> mockUsersService = new Mock <IUsersService>();

            mockUsersService.Setup(m => m.CheckIfUserExists(It.Is <int>(i => i == userId)))
            .Returns(false);

            IDrivesService service = new DrivesService(mockRepository.Object, null, mockUsersService.Object);

            // act
            var result = service.ReserveSeat(driveId, userId);

            // assert
            result.Should().Equals(new KeyValuePair <bool, string>(false, "This user does not exist."));
        }
Пример #8
0
        public void Create_GivenValidModelAndData_ShouldReturnCompletedTask()
        {
            // arrange
            DriveCreateEditViewModel model = new DriveCreateEditViewModel();
            ParsedDriveCreateData    data  = new ParsedDriveCreateData()
            {
                From   = new City(),
                To     = new City(),
                Car    = new Car(),
                Date   = new DateTime(),
                Driver = new ApplicationUser()
            };

            Mock <IDbRepository <Drive> > mockRepository = new Mock <Common.IDbRepository <Drive> >();

            mockRepository.Setup(m => m.CreateAsync(It.IsAny <Drive>()))
            .Returns(Task.FromResult(new Drive()));

            IMapper mapper = new Mapper(new MapperConfiguration(cfg =>
                                                                cfg.CreateMap <DriveCreateEditViewModel, Drive>()
                                                                .ForMember(dest => dest.From, opt => opt.Ignore())
                                                                .ForMember(dest => dest.To, opt => opt.Ignore())
                                                                .ForMember(dest => dest.Car, opt => opt.Ignore())
                                                                .ForMember(dest => dest.Driver, opt => opt.Ignore())
                                                                .ForMember(dest => dest.DateTime, opt => opt.Ignore())));

            IDrivesService service = new DrivesService(mockRepository.Object, mapper, null);

            // act
            Func <Task> action = async() => await service.CreateAsync(model, data);

            // assert
            action.Should().NotThrow();
        }
Пример #9
0
        public void GetDetailsModel_GivenValidDriveIdAndUserIsNotDriver_ShouldReturnValidDetailsModelWithIsOwnerFalse()
        {
            // arrange
            int driveId = 1;
            int userId  = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns(new Drive()
            {
                Id = driveId, DriverId = 2
            });

            IMapper mapper = new Mapper(new MapperConfiguration(cfg =>
                                                                cfg.CreateMap <Drive, DriveDetailsViewModel>()
                                                                .ForMember(dest => dest.From, opt => opt.MapFrom(source => source.From.Name))
                                                                .ForMember(dest => dest.To, opt => opt.MapFrom(source => source.To.Name))
                                                                .ForMember(dest => dest.AvailableSeats,
                                                                           opt => opt.MapFrom(source => source.DeclaredSeats - source.DrivesPassengers.Count))
                                                                .ForMember(dest => dest.Date, opt => opt.MapFrom(source => source.DateTime.ToString("dd MM yyyy")))
                                                                .ForMember(dest => dest.Time, opt => opt.MapFrom(source => source.DateTime.ToString("HH:mm")))));

            IDrivesService service = new DrivesService(mockRepository.Object, mapper, null);

            // act
            var result = service.GetDetailsModel(driveId, userId);

            // assert
            result.Should().Equals(new DriveDetailsViewModel()
            {
                Id = driveId, UserIsOwner = false
            });
        }
Пример #10
0
        public void GetDetailsAdminModel_GivenNegativeDriveId_ShouldThrowNegativeIntException()
        {
            // arrange
            int            driveId = -1;
            IDrivesService service = new DrivesService(null, null, null);

            // act
            // assert
            service.Invoking(s => s.GetDetailsAdminModel(driveId))
            .Should().ThrowExactly <NegativeIntException>();
        }
Пример #11
0
        public void GetById_GivenNegativeId_ShouldThrowMegativeIntException()
        {
            // arrange
            int            id      = -1;
            IDrivesService service = new DrivesService(null, null, null);

            // act
            // assert
            service.Invoking(s => s.GetById(id))
            .Should().ThrowExactly <NegativeIntException>();
        }
Пример #12
0
        public void Create_GivenNullModel_ShouldThrowNullObjectException()
        {
            // arrange
            var            data    = new ParsedDriveCreateData();
            IDrivesService service = new DrivesService(null, null, null);

            // act
            Func <Task> action = async() => await service.CreateAsync(null, data);

            // assert
            action.Should().ThrowExactly <NullObjectException>();
        }
Пример #13
0
        public void ReserveSeat_GivenNegativeUserId_ShouldThrowNegativeIntException()
        {
            // arrange
            int            driveId = 1;
            int            userId  = -1;
            IDrivesService service = new DrivesService(null, null, null);

            // act
            // assert
            service.Invoking(s => s.ReserveSeat(driveId, userId))
            .Should().ThrowExactly <NegativeIntException>();
        }
Пример #14
0
        public void Create_GivenNullData_ShouldThrowNullObjectException()
        {
            // arrange
            var            model   = new DriveCreateEditViewModel();
            IDrivesService service = new DrivesService(null, null, null);

            // act
            Func <Task> action = async() => await service.CreateAsync(model, null);

            // assert
            action.Should().ThrowExactly <NullObjectException>();
        }
Пример #15
0
        public void Update_GivenNegativeDriveId_ShouldThrowNegativeIntException()
        {
            // arrange
            var model   = new DriveCreateEditViewModel();
            var data    = new ParsedDriveUpdateData();
            int driveId = -1;

            IDrivesService service = new DrivesService(null, null, null);

            // act
            Func <Task> action = async() => await service.UpdateAsync(model, data, driveId);

            // assert
            action.Should().ThrowExactly <NegativeIntException>();
        }
Пример #16
0
        public void Delete_GivenNonExistingId_ShouldReturnFalse()
        {
            // arrange
            int id = 10;
            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == id)))
            .Returns <Drive>(null);

            IDrivesService service = new DrivesService(mockRepository.Object, null, null);

            // act
            bool result = service.Delete(id);

            // assert
            result.Should().BeFalse();
        }
Пример #17
0
        public void GetDetailsAdminModel_GivenNonExistingDriveId_ShouldReturnNull()
        {
            // arrange
            int driveId = 10;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns <Drive>(null);

            IDrivesService service = new DrivesService(mockRepository.Object, null, null);

            // act
            var result = service.GetDetailsAdminModel(driveId);

            // assert
            result.Should().BeNull();
        }
Пример #18
0
        public void GetDetailsAdminModel_GivenValidDriveId_ShouldReturnValidDriveAdminDetailsViewModel()
        {
            // arrange
            int driveId = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns(new Drive()
            {
                Id = driveId
            });

            IMapper mapper = new Mapper(new MapperConfiguration(cfg =>
                                                                cfg.CreateMap <Drive, DriveAdminDetailsViewModel>()
                                                                .ForMember(dest => dest.From, opt => opt.MapFrom(source => source.From.Name))
                                                                .ForMember(dest => dest.To, opt => opt.MapFrom(source => source.To.Name))
                                                                .ForMember(dest => dest.AvailableSeats,
                                                                           opt => opt.MapFrom(source => source.DeclaredSeats - source.DrivesPassengers.Count))
                                                                .ForMember(dest => dest.Date,
                                                                           opt => opt.MapFrom(source => source.DateTime.ToString("dd/MM/yyyy")))
                                                                .ForMember(dest => dest.Time, opt => opt.MapFrom(source => source.DateTime.ToString("HH:mm")))
                                                                .ForMember(dest => dest.PassengersCount,
                                                                           opt => opt.MapFrom(source => source.DrivesPassengers.Count))
                                                                .ForMember(dest => dest.PassengersNames,
                                                                           opt => opt.MapFrom(source => source.DrivesPassengers
                                                                                              .Select(d => d.Passenger.FirstName + " " + d.Passenger.LastName)
                                                                                              .ToList()))
                                                                .ForMember(dest => dest.DriverName,
                                                                           opt => opt.MapFrom(source => source.Driver.FirstName + " " + source.Driver.LastName))
                                                                .ForMember(dest => dest.CarIdentifier,
                                                                           opt => opt.MapFrom(source => source.Car.Brand + " " + source.Car.CarModel + " " + source.Car.Year))));

            IDrivesService service = new DrivesService(mockRepository.Object, mapper, null);

            // act
            var result = service.GetDetailsAdminModel(driveId);

            // assert
            result.Should().Equals(new DriveAdminDetailsViewModel()
            {
                Id = driveId
            });
        }
Пример #19
0
        public void CancelReservation_GivenNonExistingDriveId_ShouldReturnFalseAndErrorMessage()
        {
            // arrange
            int driveId = 1;
            int userId  = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns <Drive>(null);

            IDrivesService service = new DrivesService(mockRepository.Object, null, null);

            // act
            var result = service.CancelReservation(driveId, userId);

            // assert
            result.Should().Equals(new KeyValuePair <bool, string>(false, "This drive does not exist."));
        }
Пример #20
0
        public async Task Update_GivenNonExistingDriveId_ShouldReturnFalse()
        {
            // arrange
            var model   = new DriveCreateEditViewModel();
            var data    = new ParsedDriveUpdateData();
            int driveId = 10;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns <Drive>(null);

            IDrivesService service = new DrivesService(mockRepository.Object, null, null);

            // act
            bool result = await service.UpdateAsync(model, data, driveId);

            // assert
            result.Should().BeFalse();
        }
Пример #21
0
        public void Create_GivenDataWithNullFrom_ShouldReturnNull()
        {
            // arrange
            DriveCreateEditViewModel model = new DriveCreateEditViewModel();
            ParsedDriveCreateData    data  = new ParsedDriveCreateData()
            {
                From = null,
                To   = new City(),
                Car  = new Car(),
                Date = new DateTime()
            };

            IDrivesService service = new DrivesService(null, null, null);

            // act
            Func <Task> action = async() => await service.CreateAsync(model, data);

            // assert
            action.Should().Equals(Task.FromResult <Drive>(null));
        }
Пример #22
0
        public void GetById_GivenValidId_ShouldReturnValidDrive()
        {
            // arrange
            int id = 1;
            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == id)))
            .Returns(new Drive()
            {
                Id = id
            });

            IDrivesService service = new DrivesService(mockRepository.Object, null, null);

            // act
            var result = service.GetById(id);

            // assert
            result.Should().Equals(new Drive()
            {
                Id = id
            });
        }
Пример #23
0
        public void Delete_GivenValidId_ShouldReturnTrue()
        {
            // arrange
            int id = 1;
            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == id)))
            .Returns(new Drive()
            {
                Id = id
            });

            mockRepository.Setup(m => m.Delete(It.Is <Drive>(d => d.Id == id)))
            .Returns(true);

            IDrivesService service = new DrivesService(mockRepository.Object, null, null);

            // act
            bool result = service.Delete(id);

            // assert
            result.Should().BeTrue();
        }
Пример #24
0
        public async Task Update_GivenValidModelDataAndDriveId_ShouldReturnTrue()
        {
            // arrange
            DriveCreateEditViewModel model = new DriveCreateEditViewModel();
            ParsedDriveUpdateData    data  = new ParsedDriveUpdateData()
            {
                From = new City(),
                To   = new City(),
                Car  = new Car(),
                Date = new DateTime()
            };
            int driveId = 1;

            Mock <IDbRepository <Drive> > mockRepository = new Mock <IDbRepository <Drive> >();

            mockRepository.Setup(m => m.GetById(It.Is <int>(i => i == driveId)))
            .Returns(new Drive()
            {
                Id = driveId
            });

            IMapper mapper = new Mapper(new MapperConfiguration(cfg =>
                                                                cfg.CreateMap <Drive, DriveCreateEditViewModel>()
                                                                .ForMember(dest => dest.From, opt => opt.MapFrom(source => source.From.Name))
                                                                .ForMember(dest => dest.To, opt => opt.MapFrom(source => source.To.Name))
                                                                .ForMember(dest => dest.Cars, opt => opt.Ignore())
                                                                .ForMember(dest => dest.DateTime, opt => opt.MapFrom(source => source.DateTime.ToString("o")))));

            IDrivesService service = new DrivesService(mockRepository.Object, mapper, null);

            // act
            var result = await service.UpdateAsync(model, data, driveId);

            // assert
            result.Should().BeTrue();
        }