public void CheckThatTheIndexReturnsBasedOnSearch()
        {
            DbContextOptions <Lab13StudentEnrollmentDbContext> options =
                new DbContextOptionsBuilder <Lab13StudentEnrollmentDbContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options;

            using (Lab13StudentEnrollmentDbContext context = new Lab13StudentEnrollmentDbContext(options))
            {
                Course course1 = new Course();
                course1.CourseID    = "cs101";
                course1.Description = "Basic computer science class";

                Course course2 = new Course();
                course2.CourseID    = "cs201";
                course2.Description = "Intermediate computer science class";

                CoursesController cc = new CoursesController(context);
                var x = cc.Create(course1);
                x = cc.Create(course2);


                var results = cc.Index("cs101").IsCompletedSuccessfully;
                Assert.True(results);
            }
        }
        public void CheckThatTheIndexReturnsBasedOnSearch()
        {
            DbContextOptions <Lab13StudentEnrollmentDbContext> options =
                new DbContextOptionsBuilder <Lab13StudentEnrollmentDbContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options;

            using (Lab13StudentEnrollmentDbContext context = new Lab13StudentEnrollmentDbContext(options))
            {
                Student student = new Student();
                student.Name     = "Bob";
                student.Age      = 24;
                student.CourseID = "cs201";

                Student student2 = new Student();
                student.Name     = "Joe";
                student.Age      = 22;
                student.CourseID = "cs301";

                StudentsController sc = new StudentsController(context);
                var x = sc.Create(student);
                x = sc.Create(student2);

                var results = sc.Index("").IsCompletedSuccessfully;
                Assert.True(results);
            }
        }
        public void StudentCanBeDelete()
        {
            DbContextOptions <Lab13StudentEnrollmentDbContext> options =
                new DbContextOptionsBuilder <Lab13StudentEnrollmentDbContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options;

            using (Lab13StudentEnrollmentDbContext context = new Lab13StudentEnrollmentDbContext(options))
            {
                Student student = new Student();
                student.Name     = "Bob";
                student.Age      = 24;
                student.CourseID = "cs201";

                StudentsController sc = new StudentsController(context);
                var x        = sc.Create(student);
                var retrieve = context.Students.Where(s => s.Name == "Bob").ToList();

                ViewResult current           = (ViewResult)sc.Details(retrieve[0].ID).Result;
                StudentDetailsViewModel test = (StudentDetailsViewModel)current.Model;

                Assert.Equal("Bob", test.Student.Name);

                x        = sc.Delete(test.Student.ID);
                retrieve = context.Students.Where(s => s.Name == "Bob").ToList();
                Assert.Empty(retrieve);
            }
        }
        public void CourseCanBeDelete()
        {
            DbContextOptions <Lab13StudentEnrollmentDbContext> options =
                new DbContextOptionsBuilder <Lab13StudentEnrollmentDbContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options;

            using (Lab13StudentEnrollmentDbContext context = new Lab13StudentEnrollmentDbContext(options))
            {
                Course course = new Course();
                course.CourseID    = "cs101";
                course.Description = "Basic computer science class";

                CoursesController cc = new CoursesController(context);
                var x        = cc.Create(course);
                var retrieve = context.Courses.Where(c => course.CourseID == "cs101").ToList();

                ViewResult             current = (ViewResult)cc.Details(retrieve[0].ID).Result;
                CourseDetailsViewModel test    = (CourseDetailsViewModel)current.Model;

                Assert.Equal("cs101", test.Course.CourseID);

                x        = cc.Delete(test.Course.ID);
                retrieve = context.Courses.Where(c => c.CourseID == "cs101").ToList();
                Assert.Empty(retrieve);
            }
        }
示例#5
0
        public void StudentControllerCanCreate()
        {
            DbContextOptions <Lab13StudentEnrollmentDbContext> options =
                new DbContextOptionsBuilder <Lab13StudentEnrollmentDbContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options;

            using (Lab13StudentEnrollmentDbContext context = new Lab13StudentEnrollmentDbContext(options))
            {
                // Arrange
                Course course = new Course();
                course.Name        = "DotNet";
                course.Description = "Embrace the flood";

                CourseController cc = new CourseController(context);

                var x = cc.Create(course);

                Student student = new Student();
                student.Name     = "Someone";
                student.CourseID = 1;
                // Act
                StudentController sc = new StudentController(context);

                var y = sc.Create(student);

                var results = context.Students.Where(a => a.Name == "Someone");
                // Assert
                Assert.Equal(1, results.Count());
            }
        }
示例#6
0
        public async void DbCanSaveTest()
        {
            DbContextOptions <Lab13StudentEnrollmentDbContext> options =
                new DbContextOptionsBuilder <Lab13StudentEnrollmentDbContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options;

            using (Lab13StudentEnrollmentDbContext context = new Lab13StudentEnrollmentDbContext(options))
            {
                // Arrange
                Course course = new Course();
                course.Name        = "DotNet";
                course.Description = "Embrace the flood";

                Student student = new Student();
                student.Name     = "Someone";
                student.CourseID = 1;

                // Act
                await context.Courses.AddAsync(course);

                await context.Students.AddAsync(student);

                await context.SaveChangesAsync();

                var results  = context.Courses.Where(a => a.Name == "DotNet");
                var results2 = context.Students.Where(a => a.Name == "Someone");
                // Assert
                Assert.Equal(1, results.Count());
                Assert.Equal(1, results2.Count());
            }
        }
        public static StudentCreateViewModel CreateStudent(Lab13StudentEnrollmentDbContext context)
        {
            StudentCreateViewModel scvm = new StudentCreateViewModel();

            scvm.Courses = new SelectList(
                context.Courses.Select(c => c.CourseID)

                );
            return(scvm);
        }
        public static async Task <CourseDetailsViewModel> ViewDetails(int id, Lab13StudentEnrollmentDbContext context)
        {
            CourseDetailsViewModel cdvm = new CourseDetailsViewModel();

            cdvm.Course = await context.Courses.Where(c => c.ID == id).SingleAsync();

            cdvm.Students =
                context.Students.Where(s => s.CourseID == cdvm.Course.CourseID)
                .Select(s => s.Name).ToList();

            return(cdvm);
        }
        public static async Task <StudentDetailsViewModel> ViewDetails(int id, Lab13StudentEnrollmentDbContext context)
        {
            StudentDetailsViewModel sdvm = new StudentDetailsViewModel();

            sdvm.Student = await context.Students.Where(s => s.ID == id).SingleAsync();

            sdvm.Courses = new SelectList(
                context.Courses.Select(c => c.CourseID)

                );

            return(sdvm);
        }
        public void DatabaseCanSave()
        {
            DbContextOptions <Lab13StudentEnrollmentDbContext> options =
                new DbContextOptionsBuilder <Lab13StudentEnrollmentDbContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options;

            using (Lab13StudentEnrollmentDbContext context = new Lab13StudentEnrollmentDbContext(options))
            {
                //Arrange
                Student student = new Student();
                student.Name     = "Bob";
                student.Age      = 24;
                student.CourseID = "cs201";
                //Act
                StudentsController sc = new StudentsController(context);
                var x       = sc.Create(student);
                var results = context.Students.Where(s => s.Name == "Bob");
                //Assert
                Assert.Equal(1, results.Count());
            }
        }
        public async void CourseControllerCanCreate()
        {
            DbContextOptions <Lab13StudentEnrollmentDbContext> options =
                new DbContextOptionsBuilder <Lab13StudentEnrollmentDbContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options;

            using (Lab13StudentEnrollmentDbContext context = new Lab13StudentEnrollmentDbContext(options))
            {
                Course course = new Course();
                course.CourseID    = "cs101";
                course.Description = "Basic computer science class";
                //Act
                await context.Courses.AddAsync(course);

                await context.SaveChangesAsync();

                var results = context.Courses.Where(c => c.CourseID == "cs101");
                //Assert
                Assert.Equal(1, results.Count());
            }
        }
示例#12
0
 /// <summary>
 /// This constructor makes it so that the controller always has a database to connect to
 /// </summary>
 /// <param name="context">The database it connects to</param>
 public StudentController(Lab13StudentEnrollmentDbContext context)
 {
     _context = context;
 }
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new Lab13StudentEnrollmentDbContext(
                       serviceProvider.GetRequiredService <DbContextOptions <Lab13StudentEnrollmentDbContext> >()))
            {
                if (context.Courses.Any() || context.Students.Any())
                {
                    return;
                }

                context.Courses.AddRange(
                    new Course
                {
                    CourseID    = "cs101",
                    Description = "Beginning Computer Science Class"
                },
                    new Course
                {
                    CourseID    = "cs201",
                    Description = "Intermediate Computer Science Class"
                },
                    new Course
                {
                    CourseID    = "cs301",
                    Description = "Advance Computer Science Class"
                },
                    new Course
                {
                    CourseID    = "mt101",
                    Description = "Beginning Music Theory Class"
                },
                    new Course
                {
                    CourseID    = "mt201",
                    Description = "Intermediate Music Theory Class"
                },
                    new Course
                {
                    CourseID    = "mt301",
                    Description = "Advance Music Theory Class"
                }
                    );
                context.SaveChanges();
                context.Students.AddRange(
                    new Student
                {
                    Name     = "Bob peterson",
                    Age      = 19,
                    CourseID = "cs101",
                },
                    new Student
                {
                    Name     = "Rosie Ale",
                    Age      = 21,
                    CourseID = "cs201",
                },
                    new Student
                {
                    Name     = "Samantha Paisley",
                    Age      = 20,
                    CourseID = "cs301",
                },
                    new Student
                {
                    Name     = "Nathan Orion",
                    Age      = 20,
                    CourseID = "cs301",
                },
                    new Student
                {
                    Name     = "Jason Howard",
                    Age      = 21,
                    CourseID = "mt201",
                },
                    new Student
                {
                    Name     = "Amelia Dale",
                    Age      = 19,
                    CourseID = "mt201",
                }
                    );
                context.SaveChanges();
            }
        }