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