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

            var controller = new ActoresController(contexto, mapper, null);
            var patchDoc   = new JsonPatchDocument <ActorPatchDTO>();
            var respuesta  = await controller.Patch(1, patchDoc);

            var resultado = respuesta as StatusCodeResult;

            Assert.AreEqual(404, resultado.StatusCode);
        }
Exemplo n.º 2
0
        public async Task PatchActualizaUnSoloCampo()
        {
            var nombreDB = Guid.NewGuid().ToString();
            var contexto = ConstruirContext(nombreDB);
            var mapper   = ConfigurarAutoMapper();

            var fechaNacimiento = DateTime.Now;
            var actor           = new Actor()
            {
                Nombre          = "Pepe",
                FechaNacimiento = fechaNacimiento
            };

            contexto.Add(actor);
            await contexto.SaveChangesAsync();

            var contexto2  = ConstruirContext(nombreDB);
            var controller = new ActoresController(contexto2, mapper, null);

            var objectValidator = new Mock <IObjectModelValidator>();

            objectValidator.Setup(x => x.Validate(
                                      It.IsAny <ActionContext>(),
                                      It.IsAny <ValidationStateDictionary>(),
                                      It.IsAny <string>(),
                                      It.IsAny <object>()
                                      ));

            controller.ObjectValidator = objectValidator.Object;

            var patchDoc = new JsonPatchDocument <ActorPatchDTO>();

            patchDoc.Operations.Add(new Operation <ActorPatchDTO>(
                                        "replace",
                                        "/nombre",
                                        null,
                                        "Claudia"
                                        ));
            var respuesta = await controller.Patch(1, patchDoc);

            var resultado = respuesta as StatusCodeResult;

            Assert.AreEqual(204, resultado.StatusCode);

            var contexto3 = ConstruirContext(nombreDB);
            var actorDB   = await contexto3.Actores.FirstAsync();

            Assert.AreEqual("Claudia", actorDB.Nombre);
            Assert.AreEqual(fechaNacimiento, actorDB.FechaNacimiento);
        }