public async void CourseDetailVMTest()
        {
            DbContextOptions <SchoolDbContext> options = new DbContextOptionsBuilder <SchoolDbContext>()
                                                         .UseInMemoryDatabase("CourseDetailVMDb")
                                                         .Options;

            using (SchoolDbContext context = new SchoolDbContext(options))
            {
                // arrange
                Student student1 = new Student();
                student1.ID             = 4;
                student1.Name           = "Bill Test";
                student1.Level          = Level.Graduate;
                student1.CourseID       = 88;
                student1.EnrollmentTerm = EnrollmentTerm.Fall2018;

                Student student2 = new Student();
                student2.ID             = 5;
                student2.Name           = "Sally Testing";
                student2.Level          = Level.Graduate;
                student2.CourseID       = 88;
                student2.EnrollmentTerm = EnrollmentTerm.Spring2019;

                Course course1 = new Course();
                course1.ID         = 77;
                course1.Name       = "Advanced Anger Management";
                course1.Teacher    = "Bob Saget";
                course1.CourseTerm = CourseTerm.Fall2018;

                Course course2 = new Course();
                course2.ID         = 88;
                course2.Name       = "Making Unit Tests";
                course2.Teacher    = "Ron Testmaster";
                course2.CourseTerm = CourseTerm.Spring2019;

                // act
                await context.Students.AddAsync(student1);

                await context.Students.AddAsync(student2);

                await context.Courses.AddAsync(course1);

                await context.Courses.AddAsync(course2);

                await context.SaveChangesAsync();

                CourseDetailViewModel courseDVM1 = await CourseDetailViewModel.FromIDAsync(77, context);

                CourseDetailViewModel courseDVM2 = await CourseDetailViewModel.FromIDAsync(88, context);

                var result1 = courseDVM1.Course.ID;
                var result2 = courseDVM2.Course.ID;

                // assert
                Assert.True(courseDVM1.Students.Count() == 0);
                Assert.Equal(2, courseDVM2.Students.Count());
                Assert.Equal(77, result1);
                Assert.Equal(88, result2);
            }
        }
Exemple #2
0
 // GET: Course/Delete/id#
 public async Task <IActionResult> Delete(int?id)
 {
     if (id.HasValue)
     {
         return(View(await CourseDetailViewModel.FromIDAsync(id.Value, _context)));
     }
     else
     {
         return(RedirectToAction("Index"));
     }
 }
        public async Task <IActionResult> Details(int?id)
        {
            CourseDetailViewModel courseDetailVM = new CourseDetailViewModel();

            // If an ID was provided then display the Details view, otherwise return to Index
            if (id.HasValue)
            {
                return(View(await CourseDetailViewModel.FromIDAsync(id.Value, _context)));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }