public async void DeleteExistingArtistReturnNoContent()
        {
            //A -arrange
            var quiz1 = new Quiz();

            quiz1.ID = 1;
            var questions = new List <QuizQuestion>();
            var question1 = new QuizQuestion();

            question1.ID = 1;
            var mockRepo = new Mock <IQuizRepository>();

            mockRepo.Setup(repo => repo.GetByIdAsync(It.IsAny <long>()))
            .Returns(Task.FromResult(quiz1));
            mockRepo.Setup(repo => repo.GetQuizQuestions(It.IsAny <long>()))
            .Returns(Task.FromResult(questions));
            mockRepo.Setup(repo => repo.DeleteQuestion(It.IsAny <QuizQuestion>())).Verifiable();
            mockRepo.Setup(repo => repo.Delete(It.IsAny <Quiz>()))
            .Verifiable();
            var controller = new QuizsController(mockRepo.Object);
            //A -act
            var result = await controller.Delete(quiz1.ID);

            //A -assert
            Assert.Equal((result as StatusCodeResult).StatusCode, 204);
        }
Esempio n. 2
0
        // creating constructor
        public QuizsControllerTests()
        {
            var mockRepository = new Mock <IQuizRepository>();
            var mockUoW        = new Mock <IUnitOfWork>();                // creating a controller

            mockUoW.Setup(u => u.Quizzes).Returns(mockRepository.Object); // when accessing Quiz property of UnitOfWork, return mock repository

            var controller = new QuizsController(mockUoW.Object);         // mock object is the actual implementaiton of IUnitOfWork

            controller.MockCurrentUser("1", "UserName");
        }
        public async void GetAllQuizsReturnsList()
        {
            //A -arrange
            var mockRepo = new Mock <IQuizRepository>();

            mockRepo.Setup(repo => repo.GetAllAsync())
            .Returns(Task.FromResult(GetTestQuizs()));
            var controller = new QuizsController(mockRepo.Object);
            //A -act
            var result = await controller.GetAll();

            //A -assert
            var viewResult = Assert.IsType <ActionResult <ICollection <Quiz> > >(result);
            var model      = Assert.IsAssignableFrom <ICollection <Quiz> >(
                (viewResult.Result as ObjectResult).Value);

            Assert.Equal(2, model.Count);
        }
        public async void GetOneQuizReturnsQuiz()
        {
            //A -arrange
            var quiz1 = new Quiz();

            quiz1.ID    = 1;
            quiz1.Title = "Cici";
            var mockRepo = new Mock <IQuizRepository>();

            mockRepo.Setup(repo => repo.GetByIdAsync(It.IsAny <long>()))
            .Returns(Task.FromResult(quiz1));
            var controller = new QuizsController(mockRepo.Object);
            //A -act
            var result = await controller.GetOne(quiz1.ID);

            //A -assert
            var viewResult = Assert.IsType <Quiz>((result.Result as ObjectResult).Value);

            Assert.Equal(viewResult.Title, "Cici");
        }
        public async void CreateQuizReturnsQuiz()
        {
            //A -arrange
            var quiz1 = new Quiz();

            quiz1.ID    = 1;
            quiz1.Title = "Cici";
            var mockRepo = new Mock <IQuizRepository>();

            mockRepo.Setup(repo => repo.CreateAsync(It.IsAny <Quiz>()))
            .Returns(Task.FromResult(quiz1))
            .Verifiable();
            var controller = new QuizsController(mockRepo.Object);
            //A -act
            var result = await controller.Create(quiz1);

            //A -assert
            var viewResult = Assert.IsType <Quiz>((result as ObjectResult).Value as Quiz);

            Assert.Equal(viewResult.Title, "Cici");
            Assert.Equal((result as ObjectResult).StatusCode, 201);
        }