public async Task Workouts_ReturnsAViewErrorResult_WithEmptyListofWorkouts() { // Arrange var mockUserManager = new FakeUserManager(); var mockMapper = new Mock <IMapper>(); var mockLoggerFactory = new Mock <ILoggerFactory>(); var mockLogger = new Mock <ILogger>(); mockLoggerFactory.Setup(l => l.CreateLogger(It.IsAny <string>())).Returns(mockLogger.Object); var mockWorkoutService = new Mock <IWorkoutService>(); mockWorkoutService.Setup(w => w.GetAllWorkoutsAsync(It.IsAny <int>())) .ReturnsAsync((List <WorkoutDto>)null) .Verifiable(); // Return empty list of workouts var mockExerciseService = new Mock <IExerciseService>(); var mockChallengeService = new Mock <IChallengeService>(); var mockWorkoutRepository = new Mock <IWorkoutRepository>(); var workoutController = new WorkoutController( mockLoggerFactory.Object, mockMapper.Object, mockWorkoutService.Object, mockExerciseService.Object, mockUserManager, mockWorkoutRepository.Object, mockChallengeService.Object); // Act var viewResult = await workoutController.Workouts() as ViewResult; // Assert Assert.IsType <ViewResult>(viewResult); Assert.Equal("/Error", viewResult.ViewName); }
public async Task Workouts_ReturnsAViewResult_WithAListofWorkouts() { // Arrange var mockUserManager = new FakeUserManager(); var mockMapper = new Mock <IMapper>(); var mockLoggerFactory = new Mock <ILoggerFactory>(); var mockLogger = new Mock <ILogger>(); mockLoggerFactory.Setup(l => l.CreateLogger(It.IsAny <string>())).Returns(mockLogger.Object); var workouts = new List <WorkoutDto> { new WorkoutDto { } }; var mockWorkoutService = new Mock <IWorkoutService>(); mockWorkoutService.Setup(w => w.GetAllWorkoutsAsync(It.IsAny <int>())) .ReturnsAsync(workouts) .Verifiable(); var mockExerciseService = new Mock <IExerciseService>(); var mockChallengeService = new Mock <IChallengeService>(); var mockWorkoutRepository = new Mock <IWorkoutRepository>(); var workoutController = new WorkoutController( mockLoggerFactory.Object, mockMapper.Object, mockWorkoutService.Object, mockExerciseService.Object, mockUserManager, mockWorkoutRepository.Object, mockChallengeService.Object); // Act var viewResult = await workoutController.Workouts() as ViewResult; // Assert Assert.IsType <ViewResult>(viewResult); var model = Assert.IsAssignableFrom <IEnumerable <WorkoutViewModel> >(viewResult.ViewData.Model); Assert.Equal(0, model.Count()); }