Ejemplo n.º 1
0
        public async Task DeleteExamAsync_NotAuthorizedCall_ReturnsUnauthorizedResult()
        {
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.NameIdentifier, "1"),
            }));
            var mapperMock     = new Mock <IMapper>();
            var repositoryMock = new Mock <IRepositoryWrapper>();


            repositoryMock.Setup(r => r.ExamRepository.GetExamAsync(It.IsAny <int>())).ReturnsAsync(new Exam()
            {
                AuthorId = 2
            });
            repositoryMock.Setup(r => r.ExamRepository.Delete(It.IsAny <Exam>()));
            repositoryMock.Setup(r => r.SaveAllAsync()).ReturnsAsync(true);



            var controllerMock = new ExamsController(repositoryMock.Object, mapperMock.Object);

            controllerMock.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user
                }
            };
            var result = await controllerMock.DeleteExamAsync(1);

            Assert.IsType <UnauthorizedResult>(result);
        }