public async Task PostResults_ReturnsViewResultAgain_WhenModelStateIsInvalid() { // Arrange var mockUserManager = new FakeUserManager(); var mockLoggerFactory = new Mock <ILoggerFactory>(); var mockLogger = new Mock <ILogger>(); mockLoggerFactory.Setup(f => f.CreateLogger(It.IsAny <string>())) .Returns(mockLogger.Object); var mockMapper = new Mock <IMapper>(); var mockChallengeService = new Mock <IChallengeService>(); var challengeResultViewModel = new ChallengeResultViewModel(); var challengeController = new ChallengeController( mockUserManager, mockLoggerFactory.Object, mockMapper.Object, mockChallengeService.Object ); challengeController.ModelState.AddModelError("", ""); // Act var result = await challengeController.PostResults(challengeResultViewModel) as ViewResult; // Assert Assert.IsType <ViewResult>(result); var model = Assert.IsType <ChallengeResultViewModel>(result.Model); Assert.Equal(false, result.ViewData.ModelState.IsValid); }
public async Task PostResults_ReturnsStatusCode500_IfChallengeEmpty() { // Arrange var mockUserManager = new FakeUserManager(); var mockLoggerFactory = new Mock <ILoggerFactory>(); var mockLogger = new Mock <ILogger>(); mockLoggerFactory.Setup(f => f.CreateLogger(It.IsAny <string>())) .Returns(mockLogger.Object); var mockMapper = new Mock <IMapper>(); var mockChallengeService = new Mock <IChallengeService>(); var challengeResultViewModel = new ChallengeResultViewModel(); var challengeController = new ChallengeController( mockUserManager, mockLoggerFactory.Object, mockMapper.Object, mockChallengeService.Object ); // Act var result = await challengeController.PostResults(It.IsAny <int>()) as StatusCodeResult; // Assert Assert.IsType <StatusCodeResult>(result); Assert.Equal(500, result.StatusCode); }
public async Task PostResults_RedirectToAction_WhenDatabaseSuccess() { // Arrange var mockUserManager = new FakeUserManager(); var mockLoggerFactory = new Mock <ILoggerFactory>(); var mockLogger = new Mock <ILogger>(); mockLoggerFactory.Setup(f => f.CreateLogger(It.IsAny <string>())) .Returns(mockLogger.Object); var mockMapper = new Mock <IMapper>(); mockMapper.Setup(m => m.Map <ChallengeResultDto>(It.IsAny <ChallengeResultViewModel>())) .Returns(new ChallengeResultDto()) .Verifiable(); var mockChallengeService = new Mock <IChallengeService>(); mockChallengeService.Setup(c => c.SetResultAsync(It.IsAny <ChallengeResultDto>())) .ReturnsAsync(true) .Verifiable(); var challengeResultViewModel = new ChallengeResultViewModel(); var challengeController = new ChallengeController( mockUserManager, mockLoggerFactory.Object, mockMapper.Object, mockChallengeService.Object ); // Act var result = await challengeController.PostResults(challengeResultViewModel) as RedirectToActionResult; // Assert Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Challenges", result.ActionName); }
public async Task PostResults_ReturnsViewResult_IfChallengeExists() { // Arrange var mockUserManager = new FakeUserManager(); var mockLoggerFactory = new Mock <ILoggerFactory>(); var mockLogger = new Mock <ILogger>(); mockLoggerFactory.Setup(f => f.CreateLogger(It.IsAny <string>())) .Returns(mockLogger.Object); var challengeResultViewModel = new ChallengeResultViewModel(); var mockMapper = new Mock <IMapper>(); mockMapper.Setup(m => m.Map <ChallengeResultViewModel>(It.IsAny <ChallengeDto>())) .Returns(challengeResultViewModel) .Verifiable(); var mockChallengeService = new Mock <IChallengeService>(); mockChallengeService.Setup(c => c.GetChallengeAsync(It.IsAny <int>())) .ReturnsAsync(new ChallengeDto()) .Verifiable(); var challengeController = new ChallengeController( mockUserManager, mockLoggerFactory.Object, mockMapper.Object, mockChallengeService.Object ); // Act var result = await challengeController.PostResults(It.IsAny <int>()) as ViewResult; // Assert Assert.IsType <ViewResult>(result); var model = Assert.IsType <ChallengeResultViewModel>(result.Model); // Assert.Equal(0, model.Id); TODO test model properties }