public void CanSearchForUsedCarOnMaxYear()
        {
            CarsRepositoryADO repo = new CarsRepositoryADO();

            CarsSearchParameters searchParameters = new CarsSearchParameters
            {
                IsNew      = false,
                MinYear    = null,
                MaxYear    = new DateTime(2022, 1, 1),
                MaxPrice   = null,
                MinPrice   = null,
                SearchTerm = null
            };

            List <SearchResultItem> searchCarResults = repo.SearchCars(searchParameters).ToList();

            Assert.AreEqual(5, searchCarResults.Count);

            Assert.AreEqual(3, searchCarResults[1].CarId);
            Assert.AreEqual(new DateTime(2019, 1, 1).Year.ToString(), searchCarResults[1].Year);
            Assert.AreEqual("Ford", searchCarResults[1].Make);
            Assert.AreEqual("Escape", searchCarResults[1].Model);
            Assert.AreEqual("White", searchCarResults[1].BodyColor);
            Assert.AreEqual("White", searchCarResults[1].InteriorColor);
            Assert.AreEqual("Automatic", searchCarResults[1].Transmission);
            Assert.AreEqual("/Images/2017FordEscape.png", searchCarResults[1].IMGURL);
            Assert.AreEqual("3ABC3ABC3ABC3ABC3", searchCarResults[1].VIN);
            Assert.AreEqual("1200", searchCarResults[1].Mileage);
            Assert.AreEqual(22669m, searchCarResults[1].SalePrice);
            Assert.AreEqual(24500m, searchCarResults[1].MSRP);
        }
        public void CanSearchForNewCarOnMinPrice()
        {
            CarsRepositoryADO repo = new CarsRepositoryADO();

            CarsSearchParameters searchParameters = new CarsSearchParameters
            {
                IsNew      = true,
                MinYear    = null,
                MaxYear    = null,
                MaxPrice   = null,
                MinPrice   = 50000m,
                SearchTerm = null
            };

            List <SearchResultItem> searchCarResults = repo.SearchCars(searchParameters).ToList();

            Assert.AreEqual(3, searchCarResults.Count);

            Assert.AreEqual(1, searchCarResults[1].CarId);
            Assert.AreEqual(new DateTime(2021, 1, 1).Year.ToString(), searchCarResults[1].Year);
            Assert.AreEqual("Toyota", searchCarResults[1].Make);
            Assert.AreEqual("Tundra LX", searchCarResults[1].Model);
            Assert.AreEqual("Black", searchCarResults[1].BodyColor);
            Assert.AreEqual("Black", searchCarResults[1].InteriorColor);
            Assert.AreEqual("Automatic", searchCarResults[1].Transmission);
            Assert.AreEqual("/Images/2017ToyotaTundra1794.jpg", searchCarResults[1].IMGURL);
            Assert.AreEqual("1ABC1ABC1ABC1ABC1", searchCarResults[1].VIN);
            Assert.AreEqual("0", searchCarResults[1].Mileage);
            Assert.AreEqual(50315m, searchCarResults[1].SalePrice);
            Assert.AreEqual(51815m, searchCarResults[1].MSRP);
        }
        public void CanGetCarById()
        {
            CarsRepositoryADO repo = new CarsRepositoryADO();
            Car car = repo.GetCarById(2);

            Assert.IsNotNull(car);

            Assert.AreEqual("2ABC2ABC2ABC2ABC2", car.VIN);
            Assert.AreEqual(2, car.CarId);
            Assert.AreEqual(new DateTime(2020, 1, 1), car.ModelYear);
            Assert.IsTrue(car.IsNew);
            Assert.IsFalse(car.IsSold);
            Assert.IsTrue(car.IsFeatured);
            Assert.AreEqual(1, car.UnitsInStock);
            Assert.AreEqual("200", car.Mileage);
            Assert.AreEqual(2, car.BodyColorId);
            Assert.AreEqual(2, car.BodyStyleId);
            Assert.AreEqual(2, car.TransmissionId);
            Assert.AreEqual(2, car.MakeId);
            Assert.AreEqual(3, car.ModelId);
            Assert.AreEqual(3, car.InteriorColorId);
            Assert.AreEqual(33000.00m, car.SalePrice);
            Assert.AreEqual(34150.00m, car.MSRP);
            Assert.AreEqual("/Images/2018AcuraTLX.png", car.IMGFilePath);
            Assert.AreEqual("Very very very dependable.", car.VehicleDetails);
        }
        public void CanGetSoldCars()
        {
            CarsRepositoryADO repo = new CarsRepositoryADO();
            List <Car>        cars = repo.GetAllSoldCars().ToList();

            Assert.AreEqual(2, cars.Count);

            Assert.AreEqual("3ABC3ABC3ABC3ABC3", cars[1].VIN);
            Assert.AreEqual(3, cars[1].CarId);
            Assert.AreEqual(new DateTime(2019, 1, 1), cars[1].ModelYear);
            Assert.IsFalse(cars[1].IsNew);
            Assert.IsTrue(cars[1].IsSold);
            Assert.IsTrue(cars[1].IsFeatured);
            Assert.AreEqual(1, cars[1].UnitsInStock);
            Assert.AreEqual("1200", cars[1].Mileage);
            Assert.AreEqual(5, cars[1].BodyColorId);
            Assert.AreEqual(3, cars[1].BodyStyleId);
            Assert.AreEqual(1, cars[1].TransmissionId);
            Assert.AreEqual(3, cars[1].MakeId);
            Assert.AreEqual(2, cars[1].ModelId);
            Assert.AreEqual(5, cars[1].InteriorColorId);
            Assert.AreEqual(22669.00m, cars[1].SalePrice);
            Assert.AreEqual(24500.00m, cars[1].MSRP);
            Assert.AreEqual("/Images/2017FordEscape.png", cars[1].IMGFilePath);
            Assert.AreEqual("Loaded!", cars[1].VehicleDetails);
        }
        public void CanGetNewCars()
        {
            CarsRepositoryADO repo = new CarsRepositoryADO();
            List <Car>        cars = repo.GetAllNewCars().ToList();

            Assert.AreEqual(5, cars.Count);

            Assert.AreEqual("2ABC2ABC2ABC2ABC2", cars[1].VIN);
            Assert.AreEqual(2, cars[1].CarId);
            Assert.AreEqual(new DateTime(2020, 1, 1), cars[1].ModelYear);
            Assert.IsTrue(cars[1].IsNew);
            Assert.IsFalse(cars[1].IsSold);
            Assert.IsTrue(cars[1].IsFeatured);
            Assert.AreEqual(1, cars[1].UnitsInStock);
            Assert.AreEqual("200", cars[1].Mileage);
            Assert.AreEqual(2, cars[1].BodyColorId);
            Assert.AreEqual(2, cars[1].BodyStyleId);
            Assert.AreEqual(2, cars[1].TransmissionId);
            Assert.AreEqual(2, cars[1].MakeId);
            Assert.AreEqual(3, cars[1].ModelId);
            Assert.AreEqual(3, cars[1].InteriorColorId);
            Assert.AreEqual(33000.00m, cars[1].SalePrice);
            Assert.AreEqual(34150.00m, cars[1].MSRP);
            Assert.AreEqual("/Images/2018AcuraTLX.png", cars[1].IMGFilePath);
            Assert.AreEqual("Very very very dependable.", cars[1].VehicleDetails);
        }
        public void CanGetUnsoldCars()
        {
            CarsRepositoryADO repo = new CarsRepositoryADO();
            List <Car>        cars = repo.GetAllUnsoldCars().ToList();

            Assert.AreEqual(8, cars.Count);

            Assert.AreEqual("4ABC4ABC4ABC4ABC4", cars[1].VIN);
            Assert.AreEqual(4, cars[1].CarId);
            Assert.AreEqual(new DateTime(2005, 1, 1), cars[1].ModelYear);
            Assert.IsFalse(cars[1].IsNew);
            Assert.IsFalse(cars[1].IsSold);
            Assert.IsFalse(cars[1].IsFeatured);
            Assert.AreEqual(1, cars[1].UnitsInStock);
            Assert.AreEqual("111200", cars[1].Mileage);
            Assert.AreEqual(5, cars[1].BodyColorId);
            Assert.AreEqual(4, cars[1].BodyStyleId);
            Assert.AreEqual(1, cars[1].TransmissionId);
            Assert.AreEqual(4, cars[1].MakeId);
            Assert.AreEqual(4, cars[1].ModelId);
            Assert.AreEqual(4, cars[1].InteriorColorId);
            Assert.AreEqual(4000.00m, cars[1].SalePrice);
            Assert.AreEqual(5000.00m, cars[1].MSRP);
            Assert.AreEqual("/Images/2005DodgeGrandCaravan.jpg", cars[1].IMGFilePath);
            Assert.AreEqual("Dusty old van.", cars[1].VehicleDetails);
        }
Exemple #7
0
        public void CanDeleteCar()
        {
            Car carToAdd = new Car();
            var repo     = new CarsRepositoryADO();

            carToAdd.MakeModelId     = 2;
            carToAdd.CarTypeId       = 2;
            carToAdd.BodyStyleId     = 2;
            carToAdd.TransmissionId  = 2;
            carToAdd.CarColorId      = 2;
            carToAdd.CarYear         = 1999;
            carToAdd.VIN             = 222;
            carToAdd.MSRP            = 17000M;
            carToAdd.SalePrice       = 16500M;
            carToAdd.CarDescription  = "Description2";
            carToAdd.Mileage         = 47000;
            carToAdd.InteriorColorId = 2;
            carToAdd.PicturePNG      = "Placeholder.png2";
            carToAdd.IsFeatured      = true;

            repo.Insert(carToAdd);

            var loaded = repo.GetById(2);

            Assert.IsNotNull(loaded);

            repo.Delete(2);
            loaded = repo.GetById(2);

            Assert.IsNull(loaded);
        }
Exemple #8
0
        public void NotFoundCarReturnsNull()
        {
            var repo = new CarsRepositoryADO();
            var car  = repo.GetById(5000);

            Assert.IsNull(car);
        }
Exemple #9
0
        public void CanUpdateCar()
        {
            Car carToAdd = new Car();
            var repo     = new CarsRepositoryADO();

            carToAdd.MakeModelId     = 2;
            carToAdd.CarTypeId       = 2;
            carToAdd.BodyStyleId     = 2;
            carToAdd.TransmissionId  = 2;
            carToAdd.CarColorId      = 2;
            carToAdd.CarYear         = 1999;
            carToAdd.VIN             = 222;
            carToAdd.MSRP            = 17000M;
            carToAdd.SalePrice       = 16500M;
            carToAdd.CarDescription  = "Description2";
            carToAdd.Mileage         = 47000;
            carToAdd.InteriorColorId = 2;
            carToAdd.PicturePNG      = "Placeholder.png2";
            carToAdd.IsFeatured      = true;

            repo.Insert(carToAdd);

            carToAdd.MakeModelId     = 3;
            carToAdd.CarTypeId       = 1;
            carToAdd.BodyStyleId     = 1;
            carToAdd.TransmissionId  = 1;
            carToAdd.CarColorId      = 4;
            carToAdd.CarYear         = 1998;
            carToAdd.VIN             = 212;
            carToAdd.MSRP            = 21000M;
            carToAdd.SalePrice       = 2000M;
            carToAdd.CarDescription  = "Look at these updates!";
            carToAdd.Mileage         = 175000;
            carToAdd.InteriorColorId = 4;
            carToAdd.PicturePNG      = "Placeholder.png2";
            carToAdd.IsFeatured      = false;

            repo.Update(carToAdd);

            var updatedCar = repo.GetById(3);

            Assert.AreEqual(3, updatedCar.MakeModelId);
            Assert.AreEqual(1, updatedCar.CarTypeId);
            Assert.AreEqual(1, updatedCar.BodyStyleId);
            Assert.AreEqual(1, updatedCar.TransmissionId);
            Assert.AreEqual(4, updatedCar.CarColorId);
            Assert.AreEqual(1998, updatedCar.CarYear);
            Assert.AreEqual(212, updatedCar.VIN);
            Assert.AreEqual(21000M, updatedCar.MSRP);
            Assert.AreEqual(2000M, updatedCar.SalePrice);
            Assert.AreEqual("Look at these updates!", updatedCar.CarDescription);
            Assert.AreEqual(175000, updatedCar.Mileage);
            Assert.AreEqual(4, updatedCar.InteriorColorId);
            Assert.AreEqual("Placeholder.png2", updatedCar.PicturePNG);
            Assert.AreEqual(false, updatedCar.IsFeatured);
        }
        public void CanAddCar()
        {
            Car car = new Car
            {
                ModelYear       = new DateTime(2015, 1, 1),
                IsNew           = false,
                IsFeatured      = true,
                IsSold          = false,
                UnitsInStock    = 1,
                Mileage         = "20000",
                VIN             = "5ABC5ABC5ABC5ABC5",
                BodyColorId     = 5,
                BodyStyleId     = 3,
                TransmissionId  = 2,
                MakeId          = 3,
                ModelId         = 2,
                InteriorColorId = 5,
                SalePrice       = 19500m,
                MSRP            = 21000m,
                IMGFilePath     = "Images/placeholder.png",
                VehicleDetails  = "2015 Ford Escape. Fully Loaded!"
            };

            CarsRepositoryADO repo = new CarsRepositoryADO();

            repo.Insert(car);

            List <Car> cars = repo.GetAllCars().ToList();

            Assert.AreEqual(11, cars.Count);

            Assert.IsNotNull(cars[10].CarId);
            Assert.AreEqual(car.ModelYear, cars[10].ModelYear);
            Assert.AreEqual(car.IsNew, cars[10].IsNew);
            Assert.AreEqual(car.IsFeatured, cars[10].IsFeatured);
            Assert.AreEqual(car.IsSold, cars[10].IsSold);
            Assert.AreEqual(car.UnitsInStock, cars[10].UnitsInStock);
            Assert.AreEqual(car.Mileage, cars[10].Mileage);
            Assert.AreEqual(car.VIN, cars[10].VIN);
            Assert.AreEqual(car.BodyColorId, cars[10].BodyColorId);
            Assert.AreEqual(car.BodyStyleId, cars[10].BodyStyleId);
            Assert.AreEqual(car.TransmissionId, cars[10].TransmissionId);
            Assert.AreEqual(car.MakeId, cars[10].MakeId);
            Assert.AreEqual(car.ModelId, cars[10].ModelId);
            Assert.AreEqual(car.InteriorColorId, cars[10].InteriorColorId);
            Assert.AreEqual(car.SalePrice, cars[10].SalePrice);
            Assert.AreEqual(car.MSRP, cars[10].MSRP);
            Assert.AreEqual(car.IMGFilePath, cars[10].IMGFilePath);
            Assert.AreEqual(car.VehicleDetails, cars[10].VehicleDetails);
        }
Exemple #11
0
        public void CanLoadFeatured()
        {
            var             repo     = new CarsRepositoryADO();
            List <Featured> featured = repo.GetFeatured().ToList();

            Assert.AreEqual(1, featured.Count());

            Assert.AreEqual(2, featured[0].CarId);
            Assert.AreEqual(2, featured[0].MakeModelId);
            Assert.AreEqual("Make2", featured[0].MakeName);
            Assert.AreEqual("Model2", featured[0].ModelName);
            Assert.AreEqual("Placeholder2.PNG", featured[0].PicturePNG);
            Assert.AreEqual(3000M, featured[0].SalePrice);
        }
        public void CanGetFeaturedCars()
        {
            CarsRepositoryADO            repo         = new CarsRepositoryADO();
            List <FeaturedShortListItem> featuredCars = repo.GetAllFeaturedCars().ToList();

            Assert.AreEqual(8, featuredCars.Count);

            Assert.AreEqual(2, featuredCars[0].CarId);
            Assert.AreEqual(new DateTime(2020, 1, 1), featuredCars[0].Year);
            Assert.AreEqual(2, featuredCars[0].MakeId);
            Assert.AreEqual(3, featuredCars[0].ModelId);
            Assert.AreEqual(33000.00m, featuredCars[0].Price);
            Assert.AreEqual("/Images/2018AcuraTLX.png", featuredCars[0].ImageURL);
            Assert.AreEqual("Acura", featuredCars[0].Make);
            Assert.AreEqual("TLX", featuredCars[0].Model);
        }
        public void CanDeleteCar()
        {
            Car car = new Car
            {
                ModelYear       = new DateTime(2015, 1, 1),
                IsNew           = false,
                IsFeatured      = true,
                IsSold          = false,
                UnitsInStock    = 1,
                Mileage         = "20000",
                VIN             = "5ABC5ABC5ABC5ABC5",
                BodyColorId     = 5,
                BodyStyleId     = 3,
                TransmissionId  = 2,
                MakeId          = 3,
                ModelId         = 2,
                InteriorColorId = 5,
                SalePrice       = 19500m,
                MSRP            = 21000m,
                IMGFilePath     = "Images/placeholder.png",
                VehicleDetails  = "2015 Ford Escape. Fully Loaded!"
            };

            CarsRepositoryADO repo = new CarsRepositoryADO();

            repo.Insert(car);

            List <Car> cars = repo.GetAllCars().ToList();

            Assert.AreEqual(11, cars.Count);

            Assert.IsNotNull(cars[10].CarId);
            Assert.AreEqual("20000", cars[10].Mileage);
            Assert.AreEqual("5ABC5ABC5ABC5ABC5", cars[10].VIN);

            repo.Delete(10);

            List <Car> updatedCar = repo.GetAllCars().ToList();

            Car deletedCar = updatedCar.FirstOrDefault(c => c.CarId == 10);

            Assert.AreEqual(10, updatedCar.Count);

            Assert.IsNull(deletedCar);
        }
Exemple #14
0
        public void CanLoadCar()
        {
            var repo = new CarsRepositoryADO();
            var car  = repo.GetById(1);

            Assert.IsNotNull(car);
            Assert.AreEqual(1, car.CarId);
            Assert.AreEqual(1, car.MakeModelId);
            Assert.AreEqual(1, car.CarTypeId);
            Assert.AreEqual(1, car.BodyStyleId);
            Assert.AreEqual(1, car.TransmissionId);
            Assert.AreEqual(1, car.CarColorId);
            Assert.AreEqual(2017, car.CarYear);
            Assert.AreEqual(111, car.VIN);
            Assert.AreEqual(10000M, car.MSRP);
            Assert.AreEqual(12000M, car.SalePrice);
            Assert.AreEqual("Brilliant", car.CarDescription);
            Assert.AreEqual(777, car.Mileage);
            Assert.AreEqual(1, car.InteriorColorId);
            Assert.AreEqual("Placeholder.PNG", car.PicturePNG);
        }
Exemple #15
0
        public void CanAddCar()
        {
            Car carToAdd = new Car();
            var repo     = new CarsRepositoryADO();

            carToAdd.MakeModelId     = 2;
            carToAdd.CarTypeId       = 2;
            carToAdd.BodyStyleId     = 2;
            carToAdd.TransmissionId  = 2;
            carToAdd.CarColorId      = 2;
            carToAdd.CarYear         = 1999;
            carToAdd.VIN             = 222;
            carToAdd.MSRP            = 17000M;
            carToAdd.SalePrice       = 16500M;
            carToAdd.CarDescription  = "Description2";
            carToAdd.Mileage         = 47000;
            carToAdd.InteriorColorId = 2;
            carToAdd.PicturePNG      = "Placeholder.png2";
            carToAdd.IsFeatured      = true;

            repo.Insert(carToAdd);

            Assert.AreEqual(3, carToAdd.CarId);
        }
        public void CanUpdateCar()
        {
            Car car = new Car
            {
                ModelYear       = new DateTime(2015, 1, 1),
                IsNew           = false,
                IsFeatured      = true,
                IsSold          = false,
                UnitsInStock    = 1,
                Mileage         = "20000",
                VIN             = "5ABC5ABC5ABC5ABC5",
                BodyColorId     = 5,
                BodyStyleId     = 3,
                TransmissionId  = 2,
                MakeId          = 3,
                ModelId         = 2,
                InteriorColorId = 5,
                SalePrice       = 19500m,
                MSRP            = 21000m,
                IMGFilePath     = "Images/placeholder.png",
                VehicleDetails  = "2015 Ford Escape. Fully Loaded!"
            };

            CarsRepositoryADO repo = new CarsRepositoryADO();

            repo.Insert(car);

            car.BodyColorId     = 2;
            car.InteriorColorId = 5;
            car.SalePrice       = 17500m;
            car.MSRP            = 19200m;
            car.IMGFilePath     = "Images/updatedImage.png";
            car.IsSold          = true;
            car.IsNew           = true;
            car.IsFeatured      = true;
            car.VIN             = "6ABC6ABC6ABC6ABC6";
            car.VehicleDetails  = "Updated";
            car.Mileage         = "3";
            car.ModelYear       = new DateTime(2018, 1, 1);
            car.MakeId          = 2;
            car.ModelId         = 3;
            car.TransmissionId  = 1;
            car.UnitsInStock    = 9;
            car.BodyStyleId     = 2;

            repo.Update(car);

            var updatedCar = repo.GetCarById(car.CarId);

            Assert.AreEqual(updatedCar.BodyStyleId, 2);
            Assert.AreEqual(updatedCar.BodyColorId, 2);
            Assert.AreEqual(updatedCar.InteriorColorId, 5);
            Assert.AreEqual(updatedCar.IMGFilePath, "Images/updatedImage.png");
            Assert.AreEqual(updatedCar.SalePrice, 17500m);
            Assert.AreEqual(updatedCar.MSRP, 19200m);
            Assert.AreEqual(updatedCar.IsNew, true);
            Assert.AreEqual(updatedCar.IsFeatured, true);
            Assert.AreEqual(updatedCar.IsSold, true);
            Assert.AreEqual(updatedCar.VIN, "6ABC6ABC6ABC6ABC6");
            Assert.AreEqual(updatedCar.VehicleDetails, "Updated");
            Assert.AreEqual(updatedCar.Mileage, "3");
            Assert.AreEqual(updatedCar.ModelYear, new DateTime(2018, 1, 1));
            Assert.AreEqual(updatedCar.MakeId, 2);
            Assert.AreEqual(updatedCar.ModelId, 3);
            Assert.AreEqual(updatedCar.TransmissionId, 1);
            Assert.AreEqual(updatedCar.UnitsInStock, 8);
        }