public void TestGetStudentCourseGrade()
        {
            DbCourses dbCourses = new DbCourses();

            dbCourses.Insert("Test Course", "Test Course");
            DbStudents dbStudents = new DbStudents();

            dbStudents.Insert("Test Student", "Test Student", "Test Student");
            DbViewStudent dbViewStudent = new DbViewStudent();

            dbViewStudent.Enrol("Test Student", "Test Course");
            dbViewStudent.UpdateGrade("Test Student", "Test Course", 20);
            ExpectedGrades expectedGrades = new ExpectedGrades();
            ObjectResult   result         = (ObjectResult)gradesController.GetStudentCourseGrade("Test Student", "Test Course").Result;
            int?           statusCode     = result.StatusCode;

            Assert.Equal(200, statusCode);
            StudentGradesAPI actual        = (StudentGradesAPI)result.Value;
            double?          expectedgrade = expectedGrades.GetGrade("Test Student", "Test Course").grade;

            Assert.Equal(expectedgrade, actual.grade);
            dbViewStudent.Unenrol("Test Student", "Test Course");
            dbCourses.Delete("Test Course");
            dbStudents.Delete("Test Student", "Test Student", "Test Student");
        }
        public StudentsControllerTest()
        {
            DbStudents students = new DbStudents();
            var        config   = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile <AutoMapperMapings>();
                cfg.CreateMap <Student, StudentAPI>();
            });
            var mapper = config.CreateMapper();

            studentsController = new StudentsController(students, mapper);
        }
        public void TestUpdateGrade()
        {
            DbCourses dbCourses = new DbCourses();

            dbCourses.Insert("Test Course", "Test Course");
            DbStudents dbStudents = new DbStudents();

            dbStudents.Insert("Test Student", "Test Student", "Test Student");
            DbViewStudent dbViewStudent = new DbViewStudent();

            dbViewStudent.Enrol("Test Student", "Test Course");
            double actual = 5;

            gradesController.Post("Test Student", "Test Course", actual);
            ExpectedGrades expectedGrades = new ExpectedGrades();
            double?        expected       = expectedGrades.GetGrade("Test Student", "Test Course").grade;

            Assert.Equal(expected, actual);
            dbViewStudent.Unenrol("Test Student", "Test Course");
            dbCourses.Delete("Test Course");
            dbStudents.Delete("Test Student", "Test Student", "Test Student");
        }