Exemple #1
0
        // Get CarDelete
        public ActionResult CarDelete(int id)
        {
            CarsRepository carRepository = new CarsRepository();

            carRepository.DeleteById(id);
            return(View(carRepository.GetById(id)));
        }
Exemple #2
0
        //Get CarUpdate
        public ActionResult CarUpdate(int id)
        {
            User user = (User)Session["LoginUser"];

            CarsRepository     carRepository      = new CarsRepository();
            CarPhotoRepository carPhotoRepository = new CarPhotoRepository();
            var          result      = carRepository.GetByFilter(x => x.UserId == user.Id && x.Id == id).FirstOrDefault();
            var          photoresult = carPhotoRepository.GetByFilter(x => x.CarId == id).FirstOrDefault();
            CarViewModel carView     = new CarViewModel();

            carView.Id          = id;
            carView.Brand       = result.Brand;
            carView.CarPlate    = result.CarPlate;
            carView.CaseType    = result.CaseType;
            carView.Color       = result.Color;
            carView.Engine      = result.Engine;
            carView.EnginePower = result.EnginePower;
            carView.Fuel        = result.Fuel;
            carView.Gear        = result.Gear;
            carView.Km          = result.Km;
            carView.Model       = result.Model;
            carView.Photo       = photoresult.Photo;
            carView.Price       = result.Price;
            carView.Sherry      = result.Sherry;
            carView.Traction    = result.Traction;
            carView.Waranty     = result.Waranty;
            carView.Year        = result.Year;
            return(View());
        }
Exemple #3
0
        public void CarsRepositorySortedByMake_ShouldReturnSortedCollection(int numberOfCars)
        {
            var collection = new List <Car>();
            var rng        = new Random();

            // make car with random make
            for (int i = 0; i < numberOfCars; i++)
            {
                var makeString = new string(((char)(65 + rng.Next(26))), rng.Next(10));
                makeString = (i % 2) == 0 ? makeString : makeString.ToUpper();

                var car = new CarChild(make: makeString);
                collection.Add(car);
            }

            var mockDb = new Mock <IDatabase>();

            mockDb.Setup(x => x.Cars).Returns(collection);

            var repo = new CarsRepository(mockDb.Object);

            var expected = collection
                           .OrderBy(x => x.Make)
                           .ToList();

            CollectionAssert.AreEqual(expected, repo.SortedByMake());
        }
Exemple #4
0
        //Get CarList
        public ActionResult CarList()
        {
            CarsRepository carRepository = new CarsRepository();
            User           user          = (User)Session["LoginUser"];

            return(View(carRepository.GetByFilter(x => x.UserId == user.Id)));
        }
Exemple #5
0
 //rent car
 public void Rent(string carNumber)
 {
     using (CarsRepository carsRepository = new CarsRepository())
     {
         carsRepository.RentCar(carNumber);
     }
 }
Exemple #6
0
        public void SortedByYear_ShouldReturnACollectionSortedInAlphabeticalOrder()
        {
            // Arrange

            var dbListOfCars = new List <Car>();

            for (int i = 0; i <= 26; i++)
            {
                var newCar = new FakeCar();
                newCar.Year = 1990 + i;
                dbListOfCars.Add(newCar);
            }

            var mockDb = new Mock <IDatabase>();

            mockDb.SetupGet(db => db.Cars).Returns(dbListOfCars);

            var carRepo = new CarsRepository(mockDb.Object);

            // Act
            var actualSortedList = carRepo.SortedByYear();
            var expected         = 2016;

            Assert.AreEqual(expected, (actualSortedList.First()).Year);
        }
Exemple #7
0
 //delete car
 public void Delete(string num)
 {
     using (CarsRepository carsRepository = new CarsRepository())
     {
         carsRepository.Delete(num);
     }
 }
Exemple #8
0
        public void CarsRepositoryGetById_ShouldProperlyReturnResult()
        {
            var numberOfCars = 5;
            var rng          = new Random();

            var collection = new List <ICar>();

            for (int i = 0; i < numberOfCars; i++)
            {
                var car = Mock.Create <ICar>();
                Mock.Arrange(() => car.Id).Returns(i);

                collection.Add(car);
            }

            var mockDb = Mock.Create <IDatabase>();

            Mock.Arrange(() => mockDb.Cars).Returns(collection);

            var repo = new CarsRepository(mockDb);

            var expected = rng.Next(numberOfCars);

            Assert.AreEqual(expected, repo.GetById(expected).Id);
        }
Exemple #9
0
 public InsertCarTest()
 {
     _bizCoverCarRepository = new BizCover.Repository.Cars.CarRepository();
     _carsRepository        = new CarsRepository(_bizCoverCarRepository);
     _carsService           = new CarsService(_carsRepository);
     _carsController        = new CarsController(_carsService);
 }
        public async Task TestGetCarsbyOwner()
        {
            using (var transaction = Fixture.Connection.BeginTransaction())
            {
                using (var context = Fixture.CreateContext(transaction))
                {
                    using var serviceScope = _serviceProvider.CreateScope();
                    var appEnvirontent = serviceScope.ServiceProvider.GetRequiredService <IWebHostEnvironment>();
                    var seed           = new SeedData(new VehicleImageRetriever(), appEnvirontent);


                    var userManager     = serviceScope.ServiceProvider.GetRequiredService <ICustomUserManager>();
                    var userRoleManager = serviceScope.ServiceProvider.GetRequiredService <ICustomRoleManager>();
                    await seed.Initialize(userManager, userRoleManager, context);

                    var    carsRepo = new CarsRepository(context);
                    Random rnd      = new Random();
                    var    index    = rnd.Next(0, context.Users.AsNoTracking().ToHashSet().Count);
                    var    owner    = context.Users.AsNoTracking().ToList()[index];
                    var    res      = await carsRepo.GetCars(owner);

                    Assert.NotNull(res);
                    Assert.IsAssignableFrom <List <Car> >(res);
                    var resJson = JsonConvert.SerializeObject(res);
                    Assert.NotNull(resJson);
                    Assert.IsAssignableFrom <string>(resJson);
                }
            }
        }
Exemple #11
0
        public void CarsRepositoryCarsCount_ValidCount_ReturnsTrue()
        {
            var carsDatabase = new List <Car>();

            carsDatabase.Add(new Car {
                Id = 1, Make = "BMW", Model = "530", Year = 1998
            });
            carsDatabase.Add(new Car {
                Id = 2, Make = "Mercedes", Model = "E320", Year = 2000
            });
            carsDatabase.Add(new Car {
                Id = 3, Make = "Opel", Model = "Frontera", Year = 1994
            });
            carsDatabase.Add(new Car {
                Id = 4, Make = "Peugeot", Model = "307", Year = 2003
            });
            carsDatabase.Add(new Car {
                Id = 5, Make = "Fiat", Model = "Panda", Year = 2005
            });

            var mockedDatabase = new Mock <IDatabase>();

            mockedDatabase.Setup(c => c.Cars).Returns(carsDatabase);
            var carsRepository = new CarsRepository(mockedDatabase.Object);

            var expectedCount = 5;

            Assert.AreEqual(expectedCount, carsRepository.TotalCars);
        }
Exemple #12
0
        public static void TestFixtureSetup(TestContext context)
        {
            con = new NpgsqlConnection(cs);
            con.Open();

            regionsRepository       = new RegionsRepository(con);
            countriesRepository     = new CountriesRepository(con);
            manufacturersRepository = new ManufacturersRepository(con);
            manufacturerValidation  = new ManufacturerValidation(con);
            carsRepository          = new CarsRepository(con);

            regionsRepository.Save(Region1);
            regionsRepository.Save(Region2);
            regionsRepository.Save(Region3);
            regionsRepository.Flush();

            countriesRepository.Save(Country1);
            countriesRepository.Save(Country2);
            countriesRepository.Save(Country3);
            countriesRepository.Flush();

            manufacturersRepository.Save(Manufacturer1);
            manufacturersRepository.Save(Manufacturer2);
            manufacturersRepository.Save(Manufacturer3);
            manufacturersRepository.Flush();

            carsRepository.SaveAndFlush(Car2);
        }
Exemple #13
0
        public void Search_ShouldReturnListOfAllCars_IfStringIsNullOrEmpty()
        {
            // Arrange
            var datebase = new List <Car>();
            var firstCar = new Car {
                Id = 1, Make = "Audi", Model = "A5", Year = 2005
            };
            var secondCar = new Car {
                Id = 2, Make = "Moskvich", Model = "12-tak", Year = 1980
            };

            datebase.Add(firstCar);
            datebase.Add(secondCar);
            var mock = new Mock <IDatabase>();

            mock.Setup(m => m.Cars).Returns(datebase);
            var fakeDB         = mock.Object;
            var carsRepository = new CarsRepository(fakeDB);

            // Act
            var result = carsRepository.Search("");

            // Assert
            mock.Verify(m => m.Cars, Times.Exactly(1));
        }
Exemple #14
0
        public void All_ShouldReturnAllOfTheCarsInTheDB()
        {
            // Arrange
            var firstCar = new Car {
                Id = 1, Make = "Audi", Model = "A5", Year = 2005
            };
            var secondCar = new Car {
                Id = 2, Make = "Moskvich", Model = "12-tak", Year = 1980
            };
            var thirdCar = new Car {
                Id = 3, Make = "Lada", Model = "7-marka", Year = 1991
            };

            var mock = new Mock <IDatabase>();

            mock.Setup(m => m.Cars).Returns(new List <Car>()
            {
            });
            var fakeDB = mock.Object;

            fakeDB.Cars.Add(firstCar);
            fakeDB.Cars.Add(secondCar);
            fakeDB.Cars.Add(thirdCar);
            var carsRepository = new CarsRepository(fakeDB);

            // Act
            var result = carsRepository.All();

            //Assert
            Assert.AreEqual(3, result.Count);
        }
Exemple #15
0
        public void TestCarsRepositoryModelCRUDMethods()
        {
            bool Create;
            bool Read;
            bool Delete;

            var repository = new CarsRepository();

            string carBrandName = "test";

            AddCarBrand(repository, carBrandName);

            var selectedCarBrand = GetSelectedCarBrand(repository, carBrandName);

            long   carBrandId        = selectedCarBrand.Id;
            string carBrandModelName = "test";

            AddCarModel(repository, carBrandId, carBrandModelName);
            Create = true;

            var selectedCarBrandModel = GetSelectedCarBrandModel(repository, carBrandId, carBrandModelName);

            Read = selectedCarBrandModel != null ? true : false;

            DeleteCarBrand(repository, selectedCarBrand.Id);
            DeleteCarModel(repository, selectedCarBrandModel.Id);
            Delete = true;

            Assert.IsTrue(Create && Read && Delete);
        }
        public void SortedByMake_ShouldReturnACollectionSortedInAlphabeticalOrder()
        {
            // Arrange

            // Step 1: Build list of cars
            var dbListOfCars = new List <Car>();

            for (int i = 0; i < 26; i++)
            {
                var newCar = new FakeCar();
                newCar.Make = ((char)('z' - i)).ToString();
                //newCar.SetupGet(car => car.Make).Returns(((char)('z' - i)).ToString());
                dbListOfCars.Add(newCar);
            }

            // Step 2: Init Database and CarRepo
            var mockDb = new Mock <IDatabase>();

            mockDb.SetupGet(db => db.Cars).Returns(dbListOfCars);

            var carRepo = new CarsRepository(mockDb.Object);

            // Act
            var actualSortedList = carRepo.SortedByMake();
            var expected         = "a";

            Assert.AreEqual(expected, (actualSortedList.First()).Make);
        }
Exemple #17
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GTSportStatisticService"/> class.
        /// </summary>
        /// <param name="npgsqlConnection">The NPGSQL connection.</param>
        /// <exception cref="ArgumentNullException">npgsqlConnection</exception>
        public GTSportStatisticService(NpgsqlConnection npgsqlConnection)
        {
            this.npgsqlConnection = npgsqlConnection ?? throw new ArgumentNullException(nameof(npgsqlConnection));

            ownerCarsRepository = new OwnerCarsRepository(npgsqlConnection);
            carsRepository      = new CarsRepository(npgsqlConnection);
        }
        public async Task TestPagination()
        {
            using (var transaction = Fixture.Connection.BeginTransaction())
            {
                using (var context = Fixture.CreateContext(transaction))
                {
                    var repo = new CarsRepository(context);

                    var count = await repo.TotalCount();

                    Assert.True(count > 0);
                    output.WriteLine($"total count {count}");

                    var paginatedQuery = await repo
                                         .PaginationQuery(1, 4).ToListAsync();

                    Assert.True(paginatedQuery.Count == 4);

                    paginatedQuery.ForEach(c =>
                    {
                        output.WriteLine($"{c.Brand}");
                    });
                }
            }
        }
Exemple #19
0
        public void GetCars_Should_Not_Return_Null()
        {
            var repo = new CarsRepository();
            var cars = repo.GetCars();

            Assert.NotNull(cars);
        }
        public async Task <ActionResult> DeleteCar(DeleteCarViewModel deleteCarViewModel)
        {
            if (ModelState.IsValid)
            {
                CarsRepository <Car, CarDTO> carsRepo = new CarsRepository <Car, CarDTO>();
                try
                {
                    Car car = await carsRepo.Remove(deleteCarViewModel.SelectedCarToDeleteId);

                    if (car == null)
                    {
                        ModelState.AddModelError(string.Empty, "Failed to remove car from garage.");
                    }
                    string carsImagesPath = HttpContext.Server.MapPath("~/Content/Images/Cars");
                    string fileNamePath   = Path.Combine(carsImagesPath, car.ImageName);
                    if (System.IO.File.Exists(fileNamePath))
                    {
                        System.IO.File.Delete(fileNamePath);
                    }
                }
                catch (Exception)
                {
                    ModelState.AddModelError(string.Empty, "Failed to remove car.");
                }
            }

            return(RedirectToAction("Index"));
        }
Exemple #21
0
        public void CarsRepository_RemoveNullCar_ThrowsArgumentException()
        {
            var carsRepository = new CarsRepository(new Mock <IDatabase>().Object);
            var exception      = Assert.Catch <ArgumentException>(() => carsRepository.Remove(null));

            StringAssert.Contains("Null car cannot be removed", exception.Message);
        }
Exemple #22
0
        public void GetCars_Should_Return_4_Items()
        {
            var repo = new CarsRepository();
            var cars = repo.GetCars();

            Assert.Equal(4, cars.Count());
        }
        public void TestCarsRepository_CheckConstructorWithMockedDB_ShouldInitialiseCorrectly()
        {
            var mockedDataBase = new Mock <Database>();
            var carRepo        = new CarsRepository(mockedDataBase.Object);

            Assert.IsNotNull(carRepo);
        }
Exemple #24
0
        public ActionResult EditCar(CarViewModel viewModel)
        {
            if (LoginUserSession.Current.IsAuthenticated)
            {
                if (viewModel == null)
                {
                    TempData["Message"] = "No View Model";
                    return(RedirectToAction("Edit"));
                }

                CarsRepository repo = new CarsRepository();
                Car            car  = repo.GetByID(viewModel.ID);

                if (car == null)
                {
                    car = new Car();
                }

                car.Model = viewModel.Model;
                car.Brand = viewModel.Brand;
                car.Color = viewModel.Color;
                car.HP    = viewModel.HP;

                repo.Save(car);

                TempData["Mesage"] = "Car was successfully saved!";
                return(RedirectToAction("Edit"));
            }


            TempData["ErrorMessage"] = "Please log in";
            return(RedirectToAction("Login", "Login"));
        }
Exemple #25
0
        public ActionResult EditCar(int id = 0)
        {
            if (!LoginUserSession.Current.IsAdministrator)
            {
                return(RedirectToAction("Edit"));
            }

            BrandRepository brandRepo = new BrandRepository();

            List <Brand> brands = brandRepo.GetAll();
            Brand        brand  = new Brand();

            ViewBag.Brands = new SelectList(brands, "ID", "Name");

            CarsRepository carRepo = new CarsRepository();

            CarViewModel car;

            if (id != 0)
            {
                car = new CarViewModel(carRepo.GetByID(id));
            }
            else
            {
                car = new CarViewModel(new Car());
            }

            return(View(car));
        }
Exemple #26
0
        public void SortedByYear_ShouldReturnSortedListOfCarsByYear()
        {
            // Arrange
            var datebase = new List <Car>();
            var firstCar = new Car {
                Id = 1, Make = "Audi", Model = "A5", Year = 2005
            };
            var secondCar = new Car {
                Id = 2, Make = "Moskvich", Model = "12-tak", Year = 1980
            };
            var thirdCar = new Car {
                Id = 3, Make = "Lada", Model = "7-marka", Year = 1991
            };

            datebase.Add(firstCar);
            datebase.Add(secondCar);
            datebase.Add(thirdCar);

            var mock = new Mock <IDatabase>();

            mock.Setup(m => m.Cars).Returns(datebase);
            var fakeDB         = mock.Object;
            var carsRepository = new CarsRepository(fakeDB);

            // Act
            var sortedListByYear = carsRepository.SortedByYear();
            var expected         = 2005;

            // Assert
            Assert.AreEqual(expected, (sortedListByYear.First()).Year);
        }
        public ActionResult Edit(EditVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            CarsRepository repo = new CarsRepository();

            Car item = new Car();

            item.Id    = model.Id;
            item.Make  = model.Make;
            item.Model = model.Marka;
            item.Year  = model.Year;
            item.Price = model.Price;
            item.Color = model.Color;

            if (item.Id > 0)
            {
                repo.Update(item);
            }
            else
            {
                repo.Insert(item);
            }

            return(RedirectToAction("Index", "Cars"));
        }
        public async Task TestVehicleController_GetCarsByCarOwner()
        {
            using (var transaction = Fixture.Connection.BeginTransaction())
            {
                using (var context = Fixture.CreateContext(transaction))
                {
                    using var serviceScope = _serviceProvider.CreateScope();
                    var appEnvirontent = serviceScope.ServiceProvider.GetRequiredService <IWebHostEnvironment>();
                    var seed           = new SeedData(new VehicleImageRetriever(), appEnvirontent);


                    var userManager     = serviceScope.ServiceProvider.GetRequiredService <ICustomUserManager>();
                    var userRoleManager = serviceScope.ServiceProvider.GetRequiredService <ICustomRoleManager>();
                    await seed.Initialize(userManager, userRoleManager, context);

                    var carsRepo       = new CarsRepository(context);
                    var carOwnerRepo   = new CarOwnersRepository(context);
                    var identitySevice = new Mock <IIdentityService>();

                    var carService      = new CarService(carsRepo, carOwnerRepo, identitySevice.Object);
                    var carOwnerService = new CarOwnerService(carOwnerRepo);

                    var mockLogger = new Mock <ILogger <VehiclesController> >();
                    ILogger <VehiclesController> logger = mockLogger.Object;

                    var mockWebHostingEnvironment = new Mock <IWebHostEnvironment>();

                    var mockCustomAuthorizationService = new Mock <ICustomAuthorizationService>();
                    mockCustomAuthorizationService
                    .Setup(m => m.AuthorizeAsync(
                               It.IsAny <ClaimsPrincipal>(),
                               It.IsAny <object>(),
                               It.IsAny <IAuthorizationRequirement>())
                           ).ReturnsAsync(AuthorizationResult.Success);

                    var controller = new VehiclesController(
                        carService,
                        logger,
                        new UriService("https://localhost:5010"),
                        new CustomMapper(
                            new VehicleImageRetriever()),
                        mockWebHostingEnvironment.Object,
                        new VehicleImageRetriever(),
                        mockCustomAuthorizationService.Object
                        );

                    Random rnd               = new Random();
                    var    index             = rnd.Next(0, context.Users.AsNoTracking().ToHashSet().Count);
                    var    owner             = context.Users.AsNoTracking().ToList()[index];
                    var    resJson           = JsonConvert.SerializeObject(owner);
                    var    deserializedOwner = JsonConvert.DeserializeObject <OwnerRequest>(resJson);

                    var res = await controller.GetCarsByCarOwner(deserializedOwner);

                    Assert.NotNull(res);
                    Assert.IsAssignableFrom <OkObjectResult>(res);
                }
            }
        }
Exemple #29
0
        private DisplayCarModelModel GetSelectedCarBrandModel(CarsRepository repository, long carBrandId, string carBrandModelName)
        {
            var carBrandModelsList = repository.GetCarBrandModels(carBrandId);

            var selectedCarBrandModel = carBrandModelsList.Where(e => e.Name == carBrandModelName).FirstOrDefault();

            return(selectedCarBrandModel);
        }
Exemple #30
0
        private DisplayCarBrandModel GetSelectedCarBrand(CarsRepository repository, string carBrandName)
        {
            var carBrandsList = repository.GetCarBrands();

            var selectedCarBrand = carBrandsList.Where(e => e.Name == carBrandName).FirstOrDefault();

            return(selectedCarBrand);
        }
 public CarsController(CarsRepository repo)
 {
     if (repo == null)
     {
         throw new System.ArgumentNullException(nameof(repo));   
     }
     
     _repo = repo;
 }
 public void GetCars_Should_Not_Return_Null()
 {
     var repo = new CarsRepository();
     var cars = repo.GetCars();
     Assert.NotNull(cars);
 }
 public void GetCars_Should_Return_4_Items()
 {
     var repo = new CarsRepository();
     var cars = repo.GetCars();
     Assert.Equal(4, cars.Count());
 }