public async Task CrearActorSinImagen()
        {
            var nombreBD = Guid.NewGuid().ToString();
            var contexto = ConstruirContext(nombreBD);
            var mapper   = ConfigurarAutoMapper();

            var actor = new ActorCreacionDTO()
            {
                Nombre = "Ricardo", FechaNacimiento = DateTime.Now
            };

            var mock = new Mock <IAlmacenadorArchivos>();

            mock.Setup(x => x.GuardarArchivo(null, null, null, null)).Returns(Task.FromResult("url"));

            var controller = new ActoresController(contexto, mapper, mock.Object);

            var respuesta = await controller.Post(actor);

            var resultado = respuesta as CreatedAtRouteResult;

            Assert.AreEqual(201, resultado.StatusCode);

            var contexto2 = ConstruirContext(nombreBD);

            var listado = await contexto2.Actores.ToListAsync();

            Assert.AreEqual(1, listado.Count);
            Assert.IsNull(listado[0].Foto);

            Assert.AreEqual(0, mock.Invocations.Count);
        }
        public async Task CrearActorConImagen()
        {
            var nombreBD = Guid.NewGuid().ToString();
            var contexto = ConstruirContext(nombreBD);
            var mapper   = ConfigurarAutoMapper();

            var content = Encoding.UTF8.GetBytes("imagen de prueba");
            var archivo = new FormFile(new MemoryStream(content), 0, content.Length, "Data", "imagen.jpg");

            archivo.Headers     = new HeaderDictionary();
            archivo.ContentType = "image/jpg";

            var actor = new ActorCreacionDTO()
            {
                Nombre          = "Nuevo actor",
                FechaNacimiento = DateTime.Now,
                Foto            = archivo
            };

            var mock = new Mock <IAlmacenadorArchivos>();

            mock.Setup(x => x.GuardarArchivo(content, ".jpg", "actores", archivo.ContentType))
            .Returns(Task.FromResult("url"));

            var controller = new ActoresController(contexto, mapper, mock.Object);
            var respuesta  = await controller.Post(actor);

            var resultado = respuesta as CreatedAtRouteResult;

            Assert.AreEqual(201, resultado.StatusCode);

            var contexto2 = ConstruirContext(nombreBD);
            var listado   = await contexto2.Actores.ToListAsync();

            Assert.AreEqual(1, listado.Count);
            Assert.AreEqual("url", listado[0].Foto);
            Assert.AreEqual(1, mock.Invocations.Count);
        }