public async Task DeleteChallenge_ReturnsStatusCode500_IfChallengeNotDeleted() { // 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>(); mockChallengeService.Setup(c => c.DeleteChallengeAsync(It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(false) // Delete challenge error .Verifiable(); var challengeController = new ChallengeController( mockUserManager, mockLoggerFactory.Object, mockMapper.Object, mockChallengeService.Object ); // Act var result = await challengeController.DeleteChallenge(It.IsAny <int>()) as StatusCodeResult; // Assert Assert.IsType <StatusCodeResult>(result); Assert.Equal(500, result.StatusCode); }
public async Task DeleteChallenge_ReturnsRedirectAction_IfChallengeDeleted() { // 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>(); mockChallengeService.Setup(c => c.DeleteChallengeAsync(It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(true) // Delete challenge success .Verifiable(); var challengeController = new ChallengeController( mockUserManager, mockLoggerFactory.Object, mockMapper.Object, mockChallengeService.Object ); // Act var result = await challengeController.DeleteChallenge(It.IsAny <int>()) as RedirectToActionResult; // Assert Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Challenges", result.ActionName); }