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