public async Task Challenges_ReturnsStatusCode500_WhenEmpty() { // 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 challengeController = new ChallengeController( mockUserManager, mockLoggerFactory.Object, mockMapper.Object, mockChallengeService.Object ); // Act var result = await challengeController.Challenges() as StatusCodeResult; // Assert Assert.IsType <StatusCodeResult>(result); Assert.Equal(500, result.StatusCode); }
public async Task Challenges_ReturnsChallenges_WhenNotEmpty() { // 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 challenges = new List <ChallengeDto>(); var mockChallengeService = new Mock <IChallengeService>(); mockChallengeService.Setup(c => c.GetReceivedChallengesAsync(It.IsAny <int>())) .ReturnsAsync(challenges) .Verifiable(); mockChallengeService.Setup(c => c.GetGivenChallengesAsync(It.IsAny <int>())) .ReturnsAsync(challenges) .Verifiable(); var challengeController = new ChallengeController( mockUserManager, mockLoggerFactory.Object, mockMapper.Object, mockChallengeService.Object ); // Act var result = await challengeController.Challenges() as ViewResult; // Assert Assert.IsType <ViewResult>(result); var model = Assert.IsType <ChallengeViewModel>(result.Model); Assert.Equal(challenges, model.GivenChallenges); Assert.Equal(challenges, model.ReceivedChallenges); }