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