public async Task GetCompletedLessonsTest() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var lessonRepository = new EfDeletableEntityRepository <Lesson>(new ApplicationDbContext(options.Options)); foreach (var lesson in this.GetLessonData()) { await lessonRepository.AddAsync(lesson); await lessonRepository.SaveChangesAsync(); } var mockCourseRepository = new Mock <IDeletableEntityRepository <Course> >(); var userLessonRepository = new EfRepository <UserLesson>(new ApplicationDbContext(options.Options)); var service = new LessonsService(lessonRepository, userLessonRepository, mockCourseRepository.Object); await service.CreateUserLesson("User1", "1"); await service.CreateUserLesson("User1", "2"); await service.CreateUserLesson("User2", "2"); var lessonsPassed = service.GetCompletedLessons("course1", "User1"); Assert.Equal(2, lessonsPassed); }
public async Task CreateUserLessonTest() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var mockLessonRepository = new Mock <IDeletableEntityRepository <Lesson> >(); var mockCourseRepository = new Mock <IDeletableEntityRepository <Course> >(); var userLessonRepository = new EfRepository <UserLesson>(new ApplicationDbContext(options.Options)); var service = new LessonsService(mockLessonRepository.Object, userLessonRepository, mockCourseRepository.Object); await service.CreateUserLesson("User1", "1"); await service.CreateUserLesson("User2", "2"); var userLessons = userLessonRepository.All(); Assert.Equal(2, userLessons.Count()); }