コード例 #1
0
        public async Task EnrollStudentTest()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString());
            var courseRepository     = new EfDeletableEntityRepository <Course>(new ApplicationDbContext(options.Options));
            var userCourseRepository = new EfRepository <UserCourse>(new ApplicationDbContext(options.Options));

            var mockConfiguration   = new Mock <IConfiguration>();
            var mockCategoryService = new Mock <ICategoriesService>();
            var store           = new Mock <IUserStore <ApplicationUser> >();
            var mockUserManager = new Mock <UserManager <ApplicationUser> >(store.Object, null, null, null, null, null, null, null, null);

            var service = new CoursesService(courseRepository, userCourseRepository, mockConfiguration.Object, mockCategoryService.Object, mockUserManager.Object);
            await service.EnrollStudentAsync("1", "User2");

            var userCourses = userCourseRepository.All();

            Assert.Single(userCourses);
            Assert.Contains("User2", userCourses.Select(x => x.UserId));
            Assert.Contains("1", userCourses.Select(x => x.CourseId));
        }