예제 #1
0
        public void ShouldReturn_2Dates()
        {
            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.Attendee
                };

                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()
                {
                    Attendees = new List <UserTO>()
                    {
                        Michou
                    },

                    Course = AddedCourse,

                    Teacher = Teacher,

                    SessionDays = new List <SessionDayTO>()
                    {
                        new SessionDayTO()
                        {
                            Date         = new DateTime(2020, 02, 20),
                            PresenceType = SessionPresenceType.MorningAfternoon
                        },

                        new SessionDayTO()
                        {
                            Date         = new DateTime(2020, 02, 21),
                            PresenceType = SessionPresenceType.MorningAfternoon
                        }
                    }
                };

                var addedSession = sessionRepository.Add(SQLSession);
                context.SaveChanges();

                Assert.AreEqual(2, sessionRepository.GetDates(SQLSession).Count());
            }
        }