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