public async Task ShouldReturnNotFoundWhenPassedNull_GetModulesByUser()
        {
            var mockRepo = new Mock <IDataRepository>();
            ModulesController controller = new ModulesController(mockRepo.Object);
            var result = await controller.GetModulesByUser(null);

            Assert.IsInstanceOfType(result.Result, typeof(NotFoundResult));
        }
        public async Task ShouldGetAllModulesForStudentUser()
        {
            string        studentUid = "mwj7";
            var           mockRepo   = new Mock <IDataRepository>();
            List <Module> emptyList  = new List <Module>();
            List <Module> moduleData = StudentModulesFormwj7();

            mockRepo.Setup(repo => repo.ModulesByStudentListAsync(studentUid)).
            ReturnsAsync(emptyList);
            mockRepo.Setup(repo => repo.ModulesByStaffListAsync(studentUid)).
            ReturnsAsync(moduleData);

            ModulesController controller = new ModulesController(mockRepo.Object);
            var result = await controller.GetModulesByUser(studentUid);

            Assert.IsInstanceOfType(result.Result, typeof(OkObjectResult));
            var okResult = result.Result as OkObjectResult;

            var staffModules = okResult.Value as List <Module>;

            Assert.AreEqual(moduleData.Count, staffModules.Count);
            Assert.AreEqual(moduleData[0], staffModules[0]);
        }