public async Task UpdateLecture_GivenUpdatedLecture_ReturnLectureId()
        {
            //Arrange
            var teacherService = new TeacherService(context, context);
            var teachers       = await teacherService.GetAll();

            var teacherId = teachers[teachers.Count - 1].Id;

            var lecturesList = await lectureService.GetAll();

            var lastLecture = lecturesList[lecturesList.Count - 1];

            var updatedLecture = new LectureCreateModel()
            {
                Name      = lastLecture.Name,
                Weekday   = "Friday",
                StartHour = 14,
                EndHour   = 16,
                HalfYear  = lastLecture.HalfYear
            };

            //Act
            var result = await lectureService.Update(teacherId, lastLecture.Id, updatedLecture);

            //Assert
            Assert.IsInstanceOfType(result, typeof(System.Guid));
        }
        public async Task CreateNew_InsertOneLecture_ReturnLectureId()
        {
            //Arrange

            var teacherService = new TeacherService(context, context);
            var teachers       = await teacherService.GetAll();

            var teacherId = teachers[teachers.Count - 1].Id;

            var subjectService = new SubjectService(context, context);
            var subjects       = await subjectService.GetAllSubjects();

            var subjectId = subjects[subjects.Count - 1].Id;

            LectureCreateModel model = new LectureCreateModel()
            {
                Name      = "Course .NET",
                Weekday   = "Wednesday",
                StartHour = 8,
                EndHour   = 10,
                HalfYear  = "A"
            };

            //Act
            var result = await lectureService.CreateNew(teacherId, subjectId, model);

            //Assert
            Assert.IsInstanceOfType(result, typeof(System.Guid));
        }
Пример #3
0
        public async Task CreateLecture(LectureCreateModel lectureCreateModel)
        {
            _repository.CreateLecture(Lecture.CreateLecture(
                                          lectureCreateModel.Title,
                                          lectureCreateModel.Description)
                                      );

            var currentLecture = GetLectureInfoByDetails(lectureCreateModel.Title, lectureCreateModel.Description);

            if (lectureCreateModel.File != null)
            {
                foreach (var file in lectureCreateModel.File)
                {
                    if (file.Length > 0)
                    {
                        string path = Path.Combine(_env.WebRootPath, "Lectures/" + currentLecture.Id);

                        if (!Directory.Exists(path))
                        {
                            Directory.CreateDirectory(path);
                        }

                        // string extension = lectureCreateModel.Title + "." + Path.GetExtension(file.FileName).Substring(1);

                        using (var fileStream = new FileStream(Path.Combine(path, file.FileName), FileMode.Create))
                        {
                            await file.CopyToAsync(fileStream);
                        }
                    }
                }
            }
        }
Пример #4
0
        public async Task <IActionResult> Create([Bind("Title,Description,File")] LectureCreateModel lectureCreateModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(lectureCreateModel));
            }

            await _lectureService.CreateLecture(lectureCreateModel);

            return(RedirectToAction(nameof(Index)));
        }
Пример #5
0
        public async Task CreateLecture_WhenCalled_ExpectToCreateALecture()
        {
            // Arrange
            var sut      = CreateSut();
            var mockFile = new Mock <IFormFile>();

            mockFile.Setup(_ => _.FileName).Returns("TestFile.txt");
            var lectureTobeCreate = new LectureCreateModel
            {
                Title       = "TitleX",
                Description = "DescriptionX",
                File        = new List <IFormFile>
                {
                    mockFile.Object
                }
            };

            // Act
            await sut.CreateLecture(lectureTobeCreate);

            // Assert
            Assert.AreEqual(Mock.Lectures.Count, 6);
        }