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)); }