public FaqControllerTests() { faqService = Mock.Create <IFaqService>(); nomenclatureService = Mock.Create <INomenclatureService>(); faqController = new FaqController(Logger, Mapper, ContextManager, ResourceManager, faqService, nomenclatureService); InitContext(); }
public async void TestDeleteFaqCategoryCalled() { FaqCategory cat = new FaqCategory { Id = 1, CategoryName = "Test" }; Mock <IFaqRepository> mock = new Mock <IFaqRepository>(); mock.Setup(m => m.GetCategoriesAndQuestions()).Returns(new FaqCategory[] { new FaqCategory { Id = 1, CategoryName = "Test2" }, cat, new FaqCategory { Id = 3, CategoryName = "Test33" }, }); IFaqManager manager = new FaqManager(mock.Object); FaqController target = new FaqController(manager); //try to delete await target.DeleteCategory(cat.Id); //Check if DeleteCategory is called mock.Verify(m => m.DeleteCategory(cat.Id)); }
public void TestFilledFaqList() { var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>(); optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString()); HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options); context.FaqCategory.AddRange( new FaqCategory() { CategoryName = "TestA" }, new FaqCategory() { CategoryName = "TestB" }, new FaqCategory() { CategoryName = "TestC" } ); context.SaveChanges(); IFaqRepository repository = new EFFaqRepository(context); IFaqManager manager = new FaqManager(repository); var target = new FaqController(manager); var result = target.Index(1, 10).Result as ViewResult; var model = result.Model as IEnumerable <FaqCategory>; Assert.NotNull(model); Assert.True(model.Count() == 3); }
public void GetQuestionByID_Returns404NotFound_WhenIDDoesNotExist() { mockRepo.Setup(repo => repo.GetQuestionById(0)).Returns(() => null); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.GetQuestionById(1); Assert.IsType <NotFoundResult>(result.Result); }
public void GetQuestions_ReturnsCorrectType_WhenDBHasOneResource() { mockRepo.Setup(repo => repo.GetAllQuestions()).Returns(GetQuestions(1)); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.GetAllQuestions(); Assert.IsType <ActionResult <IEnumerable <FaqReadDto> > >(result); }
public void GetQuestions_Returns200OK_WhenDBHasOneResource() { mockRepo.Setup(repo => repo.GetAllQuestions()).Returns(GetQuestions(1)); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.GetAllQuestions(); Assert.IsType <OkObjectResult>(result.Result); }
public void UpdateQuestion_Returns404NotFound_WhenIDDoesNotExist() { mockRepo.Setup(repo => repo.GetQuestionById(0)).Returns(() => null); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.UpdateQuestion(0, new JsonPatchDocument <FaqUpdateDto> { }); Assert.IsType <NotFoundResult>(result); }
public void GetQuestions_ReturnsOneItem_WhenDBHasOneResource() { mockRepo.Setup(repo => repo.GetAllQuestions()).Returns(GetQuestions(1)); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.GetAllQuestions(); var okResult = result.Result as OkObjectResult; var questions = okResult.Value as List <FaqReadDto>; Assert.Single(questions); }
public void DeleteQuestion_Returns204NoContent_WhenIDExists() { mockRepo.Setup(repo => repo.GetQuestionById(1)).Returns(new Faq { Id = 1, Question = "Who is White Canary?", Answer = "Sara Lance" }); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.DeleteQuestion(1); Assert.IsType <NoContentResult>(result); }
public void GetQuestionByID_ReturnsCorrectType_WhenIDExists() { mockRepo.Setup(repo => repo.GetQuestionById(1)).Returns(new Faq { Id = 1, Question = "Who is White Canary?", Answer = "Sara Lance" }); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.GetQuestionById(1); Assert.IsType <ActionResult <FaqReadDto> >(result); }
public void UpdateQuestion_Returns204NoContent_WhenValidObjectSubmitted() { mockRepo.Setup(repo => repo.GetQuestionById(1)).Returns(new Faq { Id = 1, Question = "Who is White Canary?", Answer = "Sara Lance" }); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.UpdateQuestion(1, new JsonPatchDocument <FaqUpdateDto> { }); Assert.IsType <NoContentResult>(result); }
public void CreateQuestion_Returns201Created_WhenValidObjectSubmitted() { mockRepo.Setup(repo => repo.GetQuestionById(1)).Returns(new Faq { Id = 1, Question = "Who is White Canary?", Answer = "Sara Lance" }); var controller = new FaqController(mockRepo.Object, mapper); var result = controller.CreateQuestion(new FaqCreateDto { }); Assert.IsType <CreatedAtRouteResult>(result.Result); }
public void TestEmptyFaqList() { var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>(); optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString()); HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options); IFaqRepository repository = new EFFaqRepository(context); IFaqManager manager = new FaqManager(repository); var target = new FaqController(manager); var result = target.Index(1, 10).Result as ViewResult; var model = result.Model as IEnumerable <FaqCategory>; Assert.NotNull(model); Assert.True(!model.Any()); }
public async void TestEditCategoryCalled() { Mock <IFaqRepository> mock = new Mock <IFaqRepository>(); IFaqManager manager = new FaqManager(mock.Object); FaqController target = new FaqController(manager); FaqCategory cat = new FaqCategory { Id = 1, CategoryName = "Test" }; // try to save IActionResult result = await target.EditCategory(cat); //check that the repository was called mock.Verify(m => m.SaveCategory(cat)); //check the result type is a redirection Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Index", (result as RedirectToActionResult).ActionName); }