Example #1
0
        public void DeberiaDevolverExtensionesAutorizadasParaSesion_CuandoExtensionEsValidaParaSesion()
        {
            // Arrange
            var extensionesAutorizadas = Cualquiera.CreateMany <IExtension>();
            var todasExtensiones       = extensionesAutorizadas.Concat(Cualquiera.CreateMany <IExtension>());

            var cargadorExtensiones    = Substitute.For <ICargadorExtensiones>();
            var autorizadorExtensiones = Substitute.For <IAutorizadorExtension>();

            var agregadoTodasExtensiones = new AgregadoExtensiones();

            agregadoTodasExtensiones.Registrar(todasExtensiones);

            cargadorExtensiones.Cargar(null).ReturnsForAnyArgs(agregadoTodasExtensiones);

            autorizadorExtensiones.Autorizar(null, null).ReturnsForAnyArgs(ci =>
            {
                if (extensionesAutorizadas.Contains(ci.Arg <IExtension>()))
                {
                    return(new AutorizacionExitosa());
                }
                else
                {
                    return(new AutorizacionFallida());
                }
            });

            var cargadorExtensionesAutorizadas = new CargadorExtensionesAutorizadas(cargadorExtensiones, autorizadorExtensiones);

            // Act
            var extensionesCargadas = cargadorExtensionesAutorizadas.Cargar(Cualquiera.Create <Sesion>());

            // Assert
            CollectionAssert.AreEquivalent(extensionesAutorizadas, extensionesCargadas.Todas);
        }
Example #2
0
        public void Inicializar()
        {
            Cualquiera = new Fixture();
            Cualquiera.Customize(new AutoNSubstituteCustomization());

            AgregadoExtensiones = new AgregadoExtensiones();
        }
Example #3
0
        public void DeberiaRegistrarTodasLasExtensionesPasadasAlConstructor()
        {
            var extensiones = GenerarMultiplesTiposExtensiones().SelectMany(t => t.Extensiones);

            var agregadoExtensiones = new AgregadoExtensiones(extensiones);

            CollectionAssert.AreEquivalent(extensiones, agregadoExtensiones);
        }
        public AgregadoExtensiones Cargar(Sesion sesion)
        {
            var resultado = new AgregadoExtensiones();

            foreach (var tipoExtension in TiposExtensiones)
            {
                resultado.Registrar(Contenedor.ResolveAll(tipoExtension).OfType <IExtension>());
            }

            return(resultado);
        }