Exemple #1
0
        private VehicleOperations GetVehicleOperationsWithData(LiteDatabase db, List <Vehicle> data)
        {
            var vehicleCollection = db.GetCollection <IVehicle>();

            data.ForEach(v => vehicleCollection.Insert(v));

            var dal = new Mock <IDataAccessLayer>();

            dal.Setup(d => d.VehiclesCollection).Returns(vehicleCollection);

            var vo = new VehicleOperations(dal.Object);

            return(vo);
        }
Exemple #2
0
        public void Should_Pass_If_Fails_To_Deleted_Non_Existing_Vehicle_Successfully()
        {
            _DataBaseContainer(db =>
            {
                // Arrange
                VehicleOperations vo = GetVehicleOperationsWithData(db, TestVehicles);

                // Act
                var result = vo.DeleteVehicle(TestVehicles.Count * 2);

                // Assert
                Assert.False(result);
            });
        }
Exemple #3
0
        public void UpdateVehicle_Should_Pass_If_Make_And_Model_Null_OR_Empty_AND_Year_Validation_Works(Vehicle testVehicle, string result)
        {
            _DataBaseContainer(db =>
            {
                // Arrange
                VehicleOperations vo = GetVehicleOperationsWithData(db, TestVehicles);

                // Act
                var _result = vo.UpdateVehicle(testVehicle);

                // Assert

                Assert.Equal(result, _result);
            });
        }
Exemple #4
0
        public void Should_Pass_If_Vehicle_Filters_Work(IEnumerable <Vehicle> vehicles, string make, string model, int?year, int recordCount)
        {
            _DataBaseContainer(db =>
            {
                // Arrange
                VehicleOperations vo = GetVehicleOperationsWithData(db, TestVehicles);

                // Act
                var _vehicles = vo.GetAllVehicles();

                var result = vo.FilterVehicles(vehicles, make, model, year).ToList();

                // Assert
                Assert.Equal(recordCount, result.Count);
            });
        }
Exemple #5
0
        public void Should_Pass_If_Vehicle_Is_Deleted_Successfully()
        {
            _DataBaseContainer(db =>
            {
                // Arrange
                VehicleOperations vo = GetVehicleOperationsWithData(db, TestVehicles);

                // Act
                var result = vo.DeleteVehicle(1);

                // Assert
                Assert.True(result);

                Assert.Null(db.GetCollection <IVehicle>().Find(v => v.Id == 1).FirstOrDefault());
            });
        }
Exemple #6
0
        public void Should_Return_All_Vehicles()
        {
            _DataBaseContainer(db =>
            {
                // Arrange
                VehicleOperations vo = GetVehicleOperationsWithData(db, TestVehicles);

                // Act
                var vehicles = vo.GetAllVehicles().ToList();

                // Assert
                Assert.Equal(TestVehicles.Count, vehicles.Count);

                Assert.NotNull(vehicles.Where(x => x.Make == "VW").FirstOrDefault());
            });
        }
Exemple #7
0
        public void Should_Return_A_Vehicle_By_Id(int id, Vehicle expVehicle)
        {
            _DataBaseContainer(db =>
            {
                // Arrange
                VehicleOperations vo = GetVehicleOperationsWithData(db, TestVehicles);

                // Act
                var vehicle = vo.GetVehicleById(id);

                // Assert
                Assert.NotNull(vehicle);

                var exp    = JsonConvert.SerializeObject(expVehicle);
                var result = JsonConvert.SerializeObject(vehicle);

                Assert.Equal(exp, result);
            });
        }
Exemple #8
0
        public void Should_Pass_If_New_Vehicle_Is_Added()
        {
            _DataBaseContainer(db =>
            {
                // Arrange
                VehicleOperations vo = GetVehicleOperationsWithData(db, TestVehicles);
                var newVehicle       = new Vehicle
                {
                    Make  = "Porsche",
                    Model = "911 Turbo",
                    Year  = 2018
                };

                // Act
                var result = vo.AddNewVehicle(newVehicle);

                // Assert
                Assert.Contains("Success", result);

                Assert.NotNull(db.GetCollection <IVehicle>().Find(v => v.Make == newVehicle.Make && v.Model == newVehicle.Model).FirstOrDefault());
            });
        }
Exemple #9
0
        public void Should_Pass_If_Fails_To_Update_Non_Existing_Record()
        {
            _DataBaseContainer(db =>
            {
                // Arrange
                VehicleOperations vo = GetVehicleOperationsWithData(db, TestVehicles);
                var newVehicle       = new Vehicle
                {
                    Id    = TestVehicles.Count * 2,
                    Make  = "Porsche",
                    Model = "911 Turbo",
                    Year  = 2018
                };

                // Act
                var result = vo.UpdateVehicle(newVehicle);

                // Assert
                Assert.Equal("Failed to update vehicle!", result);

                Assert.Null(db.GetCollection <IVehicle>().Find(v => v.Make == newVehicle.Make && v.Model == newVehicle.Model && v.Id == newVehicle.Id).FirstOrDefault());
            });
        }