public async Task GetAllCoursesAsync_WithFewCourses_ShouldReturnAllCourses() { // Arrange this.context.Courses.Add(new Course { Id = 1, Name = "First course" }); this.context.Courses.Add(new Course { Id = 2, Name = "Second course" }); this.context.Courses.Add(new Course { Id = 3, Name = "Third course" }); await this.context.SaveChangesAsync(); this.repositoryMock .Setup(m => m.Details()) .Returns(this.context.Courses) .Verifiable(); var service = new StudentCoursesService(this.repositoryMock.Object, this.mapper); // Act var result = service.GetAllCoursesAsync <StudentAllCoursesViewModel>(); // Assert Assert.NotNull(result); Assert.Equal(3, result.Result.Count()); Assert.Equal(new[] { 1, 2, 3 }, result.Result.Select(c => c.Id).ToArray()); }
public async Task GetCourseAsync_WithOneCourse_ShouldReturnCorrectDetails() { // Arrange this.context.Courses.Add(new Course { Id = 1, Name = "First course" }); await this.context.SaveChangesAsync(); this.repositoryMock .Setup(x => x.Details()) .Returns(this.context.Courses) .Verifiable(); var service = new StudentCoursesService(this.repositoryMock.Object, this.mapper); // Act var result = service.GetCourseAsync <CourseDetailsViewModel>(1); // Assert Assert.NotNull(result); await Assert.IsAssignableFrom <Task <CourseDetailsViewModel> >(result); Assert.Equal(1, result.Result.Id); Assert.Equal("First course", result.Result.Name); }