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); }
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); }); }
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); }); }
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); }); }
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()); }); }
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()); }); }
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); }); }
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()); }); }
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()); }); }