예제 #1
0
        public void WhenVehicleAdded_ThenPersists()
        {
            int userId     = this.defaultTestUser.UserId;
            var repository = new VehicleRepository();

            Vehicle vehicle1 = new Vehicle {
                Name = "Vehicle1"
            };
            Vehicle vehicle2 = new Vehicle {
                Name = "Vehicle2"
            };

            repository.Create(userId, vehicle1);
            repository.Create(userId, vehicle2);

            // I use a new context and repository to verify the data was stored
            var repository2 = new VehicleRepository();

            var retrievedVehicles = repository2.GetVehicles(userId);

            Assert.NotNull(retrievedVehicles);
            List <Vehicle> actualList = new List <Vehicle>(retrievedVehicles);

            Assert.Equal(2, actualList.Count);
            Assert.Equal(vehicle1.Name, actualList[0].Name);
            Assert.Equal(vehicle2.Name, actualList[1].Name);
        }
예제 #2
0
 public async Task <Vehicle> RegisterKnownVehicle(Vehicle vehicle)
 {
     _vehicleRepository.Create(vehicle);
     _vehicleRepository.SaveChanges();
     return(await Task.FromResult(vehicle)
            .ConfigureAwait(true));
 }
예제 #3
0
        public void WhenVehicleModifiedInSameContext_ThenPersistsChange()
        {
            int userId     = this.defaultTestUser.UserId;
            var repository = new VehicleRepository();

            Vehicle vehicle = new Vehicle {
                Name = "Vehicle", UserId = userId
            };

            repository.Create(userId, vehicle);

            // I use a new context and repository to verify the data was stored
            var repositoryForUpdate = new VehicleRepository();

            var retrievedVehicle = repositoryForUpdate.GetVehicles(userId).First();

            retrievedVehicle.Name = "Updated Vehicle Name";
            repositoryForUpdate.Update(retrievedVehicle);
            int updatedVehicleId = retrievedVehicle.VehicleId;

            var repositoryForVerify = new VehicleRepository();
            var updatedVehicle      = repositoryForVerify.GetVehicle(userId, updatedVehicleId);

            Assert.Equal("Updated Vehicle Name", updatedVehicle.Name);
        }
        public ActionResult Create(VehicleModel model)
        {
            ViewBag.Head = "Manage Vehicle";
            ViewBag.Form = "Vehicle Registration";

            if (ModelState.IsValid)
            {
                try
                {
                    _rep.Create(model);
                    return(RedirectToAction("Index"));

                    TempData["Success"] = NameHandling.SuccessSave;
                }
                catch (Exception ex)
                {
                    TempData["Error"] = NameHandling.Error;
                    return(View());
                }
            }
            else
            {
                return(View());
            }
        }
예제 #5
0
        public void Create_DuplicateKey_ReturnsFalse()
        {
            VehicleRepository.Vehicles[1] = GenerateTestVehicle(2);

            var result = vehicleRepo.Create(GenerateTestVehicle(1));

            Assert.False(result);
            Assert.Equal(1, VehicleRepository.Vehicles.Count);
            Assert.Equal(1, vehicleRepo.Key);
        }
예제 #6
0
 public IActionResult CreateVehicle(Vehicle vehicle)
 {
     if (ModelState.IsValid)
     {
         repos.Create(vehicle);
         return(RedirectToAction("ViewVehicles"));
     }
     return(View("CreateVehicle"));
 }
        public void WhenVehicleAdded_ThenUpdatesRepository()
        {
            var repository = new VehicleRepository();
            var initialCount = repository.All().Count();

            var vehicle = new Vehicle {Name = "Vehicle"};

            repository.Create(defaultTestUser.UserId, vehicle);

            var actualList = new VehicleRepository().All().ToList();

            Assert.Equal(initialCount + 1, actualList.Count);
            Assert.Equal(vehicle.Name, actualList[initialCount].Name);
        }
        public void WhenGettingOtherUsersVehicle_ThenThrowsInvalidOperationException()
        {
            int userId     = this.defaultTestUser.UserId;
            var repository = new VehicleRepository(new MileageStatsDbContext());

            var vehicle = new Vehicle {
                Name = "Vehicle"
            };

            repository.Create(userId, vehicle);

            var repositoryForVerify = new VehicleRepository(new MileageStatsDbContext());

            Assert.Throws <InvalidOperationException>(() => repositoryForVerify.GetVehicle(42, vehicle.VehicleId));
        }
예제 #9
0
        public async Task VehicleRepository_AddGetRemove_Test()
        {
            var repository = new VehicleRepository(_context);
            var vehicle    = "1".IsVinOfNewVehicle("123456");

            await repository.Create(vehicle);

            var result = await repository.Get(vehicle.Id);

            result.ShouldNotBeNull();
            result.ShouldBe(vehicle);

            await repository.Delete(vehicle.Id);

            repository.Get(vehicle.Id).ShouldThrow(typeof(KeyNotFoundException));
        }
예제 #10
0
        public void WhenVehicleAdded_ThenUpdatesRepository()
        {
            var repository   = new VehicleRepository();
            var initialCount = repository.All().Count();

            var vehicle = new Vehicle {
                Name = "Vehicle"
            };

            repository.Create(defaultTestUser.UserId, vehicle);

            var actualList = new VehicleRepository().All().ToList();

            Assert.Equal(initialCount + 1, actualList.Count);
            Assert.Equal(vehicle.Name, actualList[initialCount].Name);
        }
예제 #11
0
        public void WhenGettingOtherUsersVehicle_ThenReturnsNull()
        {
            int       userId     = defaultTestUser.UserId;
            var       repository = new VehicleRepository();
            const int unknownId  = 4200;

            var vehicle = new Vehicle {
                Name = "Vehicle"
            };

            repository.Create(userId, vehicle);

            var repositoryForVerify = new VehicleRepository();

            Assert.Null(repositoryForVerify.GetVehicle(unknownId, vehicle.VehicleId));
        }
        public void WhenVehicleAdded_ThenUpdatesRepository()
        {
            var repository = new VehicleRepository(new MileageStatsDbContext());

            var vehicle = new Vehicle {
                Name = "Vehicle"
            };


            repository.Create(this.defaultTestUser.UserId, vehicle);

            List <Vehicle> actualList = new MileageStatsDbContext().Vehicles.ToList();

            Assert.Equal(1, actualList.Count);
            Assert.Equal(vehicle.Name, actualList[0].Name);
        }
예제 #13
0
        public void WhenVehicleAdded_ThenUpdatesVehicleId()
        {
            const int userId     = 999;
            var       repository = new VehicleRepository();

            var vehicle = new Vehicle {
                Name = "Vehicle"
            };

            repository.Create(userId, vehicle);

            var retrievedVehicles = repository.GetVehicles(userId);

            Assert.NotNull(retrievedVehicles);
            var actualList = new List <Vehicle>(retrievedVehicles);

            Assert.Equal(1, actualList.Count);
            Assert.Equal(vehicle.VehicleId, actualList[0].VehicleId);
        }
        public void WhenVehicleAdded_ThenUpdatesVehicleId()
        {
            int userId     = this.defaultTestUser.UserId;
            var repository = new VehicleRepository(new MileageStatsDbContext());

            Vehicle vehicle = new Vehicle {
                Name = "Vehicle"
            };

            repository.Create(userId, vehicle);

            IEnumerable <Vehicle> retrievedVehicles = repository.GetVehicles(userId);

            Assert.NotNull(retrievedVehicles);
            List <Vehicle> actualList = new List <Vehicle>(retrievedVehicles);

            Assert.Equal(1, actualList.Count);
            Assert.Equal(1, actualList[0].VehicleId);
        }
예제 #15
0
        public async Task VehicleRepository_Update_Test()
        {
            var repository = new VehicleRepository(_context);
            var vehicle    = "1".IsVinOfNewVehicle("123456");

            await repository.Create(vehicle);

            var result = await repository.Get(vehicle.Id);

            result.ShouldNotBeNull();

            var updVehicle = "1".IsVinOfNewVehicle("654321");
            await repository.Update(vehicle.Id, updVehicle);

            result = await repository.Get(vehicle.Id);

            result.ShouldNotBeNull();
            result.ShouldBe(updVehicle);
        }
        private void InitializeFixture()
        {
            defaultTestUser = new User()
                                       {
                                           AuthorizationId = "TestAuthorizationId",
                                           DisplayName = "DefaultTestUser"
                                       };

            var userRepository = new UserRepository();
            userRepository.Create(defaultTestUser);

            int userId = defaultTestUser.UserId;

            var vehicleRepository = new VehicleRepository();
            defaultVehicle = new Vehicle()
                                      {
                                          Name = "Test Vehicle"
                                      };
            vehicleRepository.Create(defaultTestUser.UserId, defaultVehicle);
        }
예제 #17
0
        private void InitializeFixture()
        {
            defaultTestUser = new User()
            {
                AuthorizationId = "TestAuthorizationId",
                DisplayName     = "DefaultTestUser"
            };

            var userRepository = new UserRepository();

            userRepository.Create(defaultTestUser);

            int userId = defaultTestUser.UserId;

            var vehicleRepository = new VehicleRepository();

            defaultVehicle = new Vehicle()
            {
                Name = "Test Vehicle"
            };
            vehicleRepository.Create(defaultTestUser.UserId, defaultVehicle);
        }
        private void InitializeFixture()
        {
            DatabaseTestUtility.DropCreateMileageStatsDatabase();
            this.defaultTestUser = new User()
            {
                AuthorizationId = "TestAuthorizationId",
                DisplayName     = "DefaultTestUser"
            };

            var userRepository = new UserRepository(this.GetUnitOfWork());

            userRepository.Create(this.defaultTestUser);

            int userId = this.defaultTestUser.UserId;

            var vehicleRepository = new VehicleRepository(this.GetUnitOfWork());

            this.defaultVehicle = new Vehicle()
            {
                Name = "Test Vehicle"
            };
            vehicleRepository.Create(this.defaultTestUser.UserId, this.defaultVehicle);
        }
        public void WhenVehicleAdded_ThenPersists()
        {
            int userId = this.defaultTestUser.UserId;
            var repository = new VehicleRepository();

            Vehicle vehicle1 = new Vehicle {Name = "Vehicle1"};
            Vehicle vehicle2 = new Vehicle {Name = "Vehicle2"};

            repository.Create(userId, vehicle1);
            repository.Create(userId, vehicle2);

            // I use a new context and repository to verify the data was stored
            var repository2 = new VehicleRepository();

            var retrievedVehicles = repository2.GetVehicles(userId);

            Assert.NotNull(retrievedVehicles);
            List<Vehicle> actualList = new List<Vehicle>(retrievedVehicles);

            Assert.Equal(2, actualList.Count);
            Assert.Equal(vehicle1.Name, actualList[0].Name);
            Assert.Equal(vehicle2.Name, actualList[1].Name);
        }
예제 #20
0
        public void WhenVehicleDeleted_ThenPersists()
        {
            int userId     = this.defaultTestUser.UserId;
            var repository = new VehicleRepository();

            Vehicle vehicle1 = new Vehicle {
                Name = "Vehicle1"
            };

            repository.Create(userId, vehicle1);

            var retrievedVehicles = repository.GetVehicles(userId);

            Assert.Equal(1, retrievedVehicles.Count());
            repository.Delete(retrievedVehicles.First().VehicleId);

            // I use a new context and repository to verify the vehicle was deleted
            var repository2 = new VehicleRepository();

            var verifyVehicles = repository2.GetVehicles(userId);

            Assert.NotNull(retrievedVehicles);
            Assert.Equal(0, verifyVehicles.Count());
        }
        public void WhenVehicleAdded_ThenUpdatesVehicleId()
        {
            const int userId = 999;
            var repository = new VehicleRepository();

            var vehicle = new Vehicle {Name = "Vehicle"};

            repository.Create(userId, vehicle);

            var retrievedVehicles = repository.GetVehicles(userId);

            Assert.NotNull(retrievedVehicles);
            var actualList = new List<Vehicle>(retrievedVehicles);

            Assert.Equal(1, actualList.Count);
            Assert.Equal(vehicle.VehicleId, actualList[0].VehicleId);
        }
        public void WhenVehicleModifiedInSameContext_ThenPersistsChange()
        {
            int userId = this.defaultTestUser.UserId;
            var repository = new VehicleRepository();

            Vehicle vehicle = new Vehicle {Name = "Vehicle", UserId = userId};
            repository.Create(userId, vehicle);

            // I use a new context and repository to verify the data was stored
            var repositoryForUpdate = new VehicleRepository();

            var retrievedVehicle = repositoryForUpdate.GetVehicles(userId).First();

            retrievedVehicle.Name = "Updated Vehicle Name";
            repositoryForUpdate.Update(retrievedVehicle);
            int updatedVehicleId = retrievedVehicle.VehicleId;

            var repositoryForVerify = new VehicleRepository();
            var updatedVehicle = repositoryForVerify.GetVehicle(userId, updatedVehicleId);

            Assert.Equal("Updated Vehicle Name", updatedVehicle.Name);
        }
        public void WhenVehicleDeleted_ThenPersists()
        {
            int userId = this.defaultTestUser.UserId;
            var repository = new VehicleRepository();

            Vehicle vehicle1 = new Vehicle {Name = "Vehicle1"};
            repository.Create(userId, vehicle1);

            var retrievedVehicles = repository.GetVehicles(userId);
            Assert.Equal(1, retrievedVehicles.Count());
            repository.Delete(retrievedVehicles.First().VehicleId);

            // I use a new context and repository to verify the vehicle was deleted
            var repository2 = new VehicleRepository();

            var verifyVehicles = repository2.GetVehicles(userId);

            Assert.NotNull(retrievedVehicles);
            Assert.Equal(0, verifyVehicles.Count());
        }
        public void WhenGettingOtherUsersVehicle_ThenReturnsNull()
        {
            int userId = defaultTestUser.UserId;
            var repository = new VehicleRepository();
            const int unknownId = 4200;

            var vehicle = new Vehicle {Name = "Vehicle"};

            repository.Create(userId, vehicle);

            var repositoryForVerify = new VehicleRepository();
            Assert.Null(repositoryForVerify.GetVehicle(unknownId, vehicle.VehicleId));
        }