public void ModeloCreadoEnArchivoEjemplo_SaerchByNombre_DevuelveModelo()
        {
            Mock <IAppSettings> appSettings = CreateTestModelAppSettings();

            using var repository = new ModeloRepository(appSettings.Object, Logger);
            repository.Search(m => m.Nombre == "DPC9989").Should().NotBeEmpty();
            repository.Search(m => m.Nombre == "DPC3825").Should().NotBeEmpty();
        }
        public void ModeloExistenteEnArchivoEjemplo_SaerchByFabricanteAndContainsNombre_DevuelveModelo()
        {
            Mock <IAppSettings> appSettings = CreateTestModelAppSettings();

            using var repository = new ModeloRepository(appSettings.Object, Logger);
            var coleccionModelos = new List <string>()
            {
                "DPC3825"
            };

            repository.Search(m => m.Fabricante == "Cisco" && coleccionModelos.Contains(m.Nombre)).Should().HaveCount(1);
            repository.Search(m => m.Fabricante == "Cisco" && coleccionModelos.Contains(m.Nombre)).First().Fabricante.Should().Be("Cisco");
            repository.Search(m => m.Fabricante == "Cisco" && coleccionModelos.Contains(m.Nombre)).First().Nombre.Should().Be("DPC3825");
        }
 public void ModeloInexistente_SaerchByNombre_NoDevuelveModelo()
 {
     using (var repository = new ModeloRepository(AppSettings, Logger))
     {
         var modeloActualizado = repository.Search(m => m.Nombre == Guid.NewGuid().ToString()).Should().BeEmpty();
     }
 }
        public void ModeloCreado_Search_SeGuardaModelo()
        {
            var modeloPorPersistir = CreateEntity();

            using var repository = new ModeloRepository(AppSettings, Logger);
            var modelos = repository.Search(m => m.Nombre == modeloPorPersistir.Nombre);

            modelos.Should().HaveCount(1);
            AreEquals(modeloPorPersistir, modelos.First());
        }
        public void ModeloCreado_Borrar_SaerchByNombre_NoDevuelveModelo()
        {
            var modeloPorPersistir = CreateEntity();

            using (var repository = new ModeloRepository(AppSettings, Logger))
            {
                var modeloPorRemover = repository.Search(m => m.Nombre == modeloPorPersistir.Nombre).First();
                repository.Delete(modeloPorRemover);
            }

            using (var repository = new ModeloRepository(AppSettings, Logger))
            {
                var modeloActualizado = repository.Search(m => m.Nombre == modeloPorPersistir.Nombre).Should().BeEmpty();
            }
        }
        public void ModeloCreado_ActualizarParametro_SaerchByNombre_DevuelveParametroActualizado()
        {
            var          modeloPorPersistir = CreateEntity();
            const string valorActualizado   = "v2.0";

            using (var repository = new ModeloRepository(AppSettings, Logger))
            {
                var modeloPorActualizar = repository.Search(m => m.Nombre == modeloPorPersistir.Nombre).First();
                modeloPorActualizar.VersionSoftware = valorActualizado;
                repository.Update(modeloPorActualizar);
            }

            using (var repository = new ModeloRepository(AppSettings, Logger))
            {
                var modeloActualizado = repository.Search(m => m.Nombre == modeloPorPersistir.Nombre).First();
                modeloActualizado.VersionSoftware.Should().Be(valorActualizado);
            }
        }