Exemplo n.º 1
0
        public IActionResult Put(uint id, [FromBody] PostFormPut form)
        {
            if (!this.IsAdmin())
            {
                form.Author = User.GetId();
            }

            return(Put <PostFormPut>(id, form));
        }
Exemplo n.º 2
0
        public void PutEntityBadRepositoryGetId()
        {
            var controller = new PostController(GetMockRepo(false));
            var entity     = new PostFormPut {
                Title = "test"
            };

            controller.SetClaimsPrincipal(1, "*****@*****.**", Role.Admin);

            // Act
            var result = controller.Put(1, entity);

            // Assert
            Assert.IsType <UnprocessableEntityObjectResult>(result);
        }
Exemplo n.º 3
0
        public void PutEntityNoExist()
        {
            // Arrange
            var controller = new PostController(GetMockRepo());
            var entity     = new PostFormPut {
                Title = "test"
            };

            controller.SetClaimsPrincipal(1, "*****@*****.**", Role.Admin);

            // Act
            var result = controller.Put(0, entity);

            // Assert
            Assert.IsType <NotFoundObjectResult>(result);
        }
Exemplo n.º 4
0
        public void PutEntityExist()
        {
            // Arrange
            var controller = new PostController(GetMockRepo());
            var entity     = new PostFormPut {
                Author = 2, Title = "test", Description = "testDescipriton", Language = 1, Snippet = "testSnippet", IsActive = false
            };

            controller.SetClaimsPrincipal(1, "*****@*****.**", Role.Admin);

            // Act
            var result = controller.Put(1, entity);

            // Assert
            Assert.IsType <OkObjectResult>(result);
        }
Exemplo n.º 5
0
        public void PutEntityAsUserCannotChangeAuthor()
        {
            // Arrange
            uint id         = 2;
            var  controller = new PostController(GetMockRepo());
            var  entity     = new PostFormPut {
                Author = 1, Title = "test", Description = "testDescipriton", Language = 1, Snippet = "testSnippet", IsActive = false
            };

            controller.SetClaimsPrincipal(id, "*****@*****.**", Role.User);

            // Act
            _ = controller.Put(id, entity);
            controller.SetClaimsPrincipal(1, "*****@*****.**", Role.Admin);
            var result = controller.Get(id) as OkObjectResult;

            var author = (uint)result.Value.GetType().GetProperty("Author")?.GetValue(result.Value);

            // Assert
            Assert.Equal(author, id);
        }
Exemplo n.º 6
0
 public IActionResult Put(uint id, [FromBody] PostFormPut post)
 {
     return(StatusCode(StatusCodes.Status500InternalServerError));
 }