Example #1
0
        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);
        }
Example #2
0
        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());
        }