public void Should_Throw_Exception_When_User_Is_Assistant() { var options = new DbContextOptionsBuilder <RegistrationContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using (var context = new RegistrationContext(options)) { IRSUserRepository userRepository = new UserRepository(context); IRSSessionRepository sessionRepository = new SessionRepository(context); IRSCourseRepository courseRepository = new CourseRepository(context); var Teacher = new UserTO() { //Id = 420, Name = "Christian", Email = "*****@*****.**", Role = UserRole.Teacher }; var Michou = new UserTO() { //Id = 45, Name = "Michou Miraisin", Email = "*****@*****.**", Role = UserRole.Attendee }; var Isabelle = new UserTO() { //Id = 45, Name = "Isabelle Balkany", Email = "*****@*****.**", Role = UserRole.Assistant }; var AddedTeacher = userRepository.Add(Teacher); var AddedAttendee = userRepository.Add(Michou); var AddedAttendee2 = userRepository.Add(Isabelle); context.SaveChanges(); var SQLCourse = new CourseTO() { //Id = 28, Name = "SQL" }; var AddedCourse = courseRepository.Add(SQLCourse); context.SaveChanges(); var SQLSession = new SessionTO() { //Id = 1, Attendees = new List <UserTO>() { AddedAttendee, AddedAttendee2 }, Course = AddedCourse, Teacher = AddedTeacher, }; var AddedSession = sessionRepository.Add(SQLSession); context.SaveChanges(); Assert.ThrowsException <ArgumentException>(() => sessionRepository.GetByUser(AddedAttendee2).Count()); } }