public async Task DeleteAnswerErrorTest() { // Arrange var repo = new Mock <IRepositoryEnq>(); var notFoundId = 7000; var badId1 = 0; var badId2 = -100; repo.Setup(r => r.ExistsAsync <Answer> (It.IsAny <Expression <Func <Answer, bool> > >())).ReturnsAsync(false); var controller = new WrApiControllerWithContext(repo.Object); // Act var notFoundResult = await controller.DeleteAnswer(notFoundId); var badReqResult = await controller.DeleteAnswer(badId1); await controller.DeleteAnswer(badId2); // Assert Assert.IsType <NotFoundResult>(notFoundResult); Assert.IsType <BadRequestResult>(badReqResult); repo.Verify(r => r.ExistsAsync <Answer> (It.IsAny <Expression <Func <Answer, bool> > >()), Times.Once); repo.VerifyNoOtherCalls(); }
public async Task EditAnswerErrorTest() { // Arrange var repo = new Mock <IRepositoryEnq>(); var answer = QuestionData.TestAnswer; var errAnswer = QuestionData.InvalidTestAnswer; repo.Setup(r => r.GetByIdAsync <Answer>(answer.Id, null, null)) .Returns(Task.FromResult <Answer>(null)); var controller = new WrApiControllerWithContext(repo.Object); // Act var notFoundResult = await controller.EditAnswer(answer); var badReqResult = await controller.EditAnswer(errAnswer); // Assert Assert.IsType <NotFoundResult>(notFoundResult); Assert.IsType <BadRequestResult>(badReqResult); Assert.Equal(1, repo.Invocations.Count); repo.Verify(r => r.GetByIdAsync <Answer>(answer.Id, null, null), Times.Once); repo.VerifyNoOtherCalls(); }
public async Task EditQuestionErrorTest() { // Arrange var repo = new Mock <IRepositoryEnq>(); var question = QuestionData.TestQuestion; var errQuestion = QuestionData.EditTestInvalidTestQuestion; repo.Setup(r => r.GetByIdAsync <Question>(question.Id, null, null)) .Returns(Task.FromResult <Question>(null)); var controller = new WrApiControllerWithContext(repo.Object); // Act var notFoundResult = await controller.EditQuestion(question); var badReqResult = await controller.EditQuestion(errQuestion); // Assert Assert.IsType <NotFoundResult>(notFoundResult); Assert.IsType <BadRequestResult>(badReqResult); repo.Verify(r => r.GetByIdAsync <Question>(question.Id, null, null) , Times.Once); repo.VerifyNoOtherCalls(); }
public async Task EditAnswerTest() { // Arrange var repo = new Mock <IRepositoryEnq>(); var answer = QuestionData.TestAnswer; repo.Setup(r => r.GetByIdAsync <Answer>(answer.Id, null, null)) .ReturnsAsync(answer); var controller = new WrApiControllerWithContext(repo.Object); // Act var result = await controller.EditAnswer(answer); // Assert Assert.IsType <OkResult>(result); repo.Verify(r => r.Update(answer), Times.Once); repo.Verify(r => r.SaveAsync(), Times.Once); repo.Verify(r => r.GetByIdAsync <Answer>(answer.Id, null, null)); repo.VerifyNoOtherCalls(); }
public async Task DeleteAnswerTest() { // Arrange var repo = new Mock <IRepositoryEnq>(); var id = 10; repo.Setup(r => r.ExistsAsync <Answer> (It.IsAny <Expression <Func <Answer, bool> > >())).ReturnsAsync(true); var controller = new WrApiControllerWithContext(repo.Object); // Act var result = await controller.DeleteAnswer(id); // Assert Assert.IsType <OkResult>(result); repo.Verify(r => r.ExistsAsync <Answer> (It.IsAny <Expression <Func <Answer, bool> > >()), Times.Once); repo.Verify(r => r.DeleteById <Answer>(id), Times.Once); repo.Verify(r => r.SaveAsync(), Times.Once); repo.VerifyNoOtherCalls(); }