public void UpdateLecturesOrders_WhenCalled_UpdateLecturesOrders()
        {
            // Arrange
            var lecture1 = new ArticleLecture("lecture1", "moduleId", 1, "content");
            var lecture2 = new VideoLecture("lecture2", "moduleId", 2);
            var lecturesToUpdateOrders = new List <Lecture> {
                lecture1, lecture2
            };

            var lecturesNewOrders = new[]
            {
                new LectureOrderDto {
                    LectureId = lecture1.Id, Order = 2
                },
                new LectureOrderDto {
                    LectureId = lecture2.Id, Order = 1
                }
            };

            // Act
            _sut.UpdateLecturesOrders(lecturesToUpdateOrders, lecturesNewOrders);

            // Assert
            Assert.That(lecture1.Order, Is.EqualTo(2));
            Assert.That(lecture2.Order, Is.EqualTo(1));
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            VideoLecture videoLecture = await db.VideoLectures.FindAsync(id);

            db.VideoLectures.Remove(videoLecture);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
示例#3
0
        public void CreateLecture_WhenCalled_CreateLecture()
        {
            var lecture = new VideoLecture("title", "moduleId", 1);
            var command = new CreateLectureCommand();

            _lectureCreatorFactory.Setup(x => x.Create(command))
            .Returns(lecture);

            var result = _sut.CreateLecture(command);

            Assert.That(result, Is.EqualTo(lecture));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Vid,Cid,Url,Image")] VideoLecture videoLecture, HttpPostedFileBase file, Helper help)
        {
            if (ModelState.IsValid)
            {
                videoLecture.Image = file != null?help.uploadfile(file) : img;

                db.Entry(videoLecture).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.Cid = new SelectList(db.Coachings, "Cid", "Name", videoLecture.Cid);
            return(View(videoLecture));
        }
        public async Task <ActionResult> Create([Bind(Include = "Vid,Cid,Url,Image")] VideoLecture videoLecture, HttpPostedFileBase file, Helper help)
        {
            if (ModelState.IsValid)
            {
                videoLecture.Image = help.uploadfile(file);
                db.VideoLectures.Add(videoLecture);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.Cid = new SelectList(db.Coachings, "Cid", "Name", videoLecture.Cid);
            return(View(videoLecture));
        }
        // GET: Auth/VideoLectures/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VideoLecture videoLecture = await db.VideoLectures.FindAsync(id);

            if (videoLecture == null)
            {
                return(HttpNotFound());
            }
            return(View(videoLecture));
        }
        // GET: Auth/VideoLectures/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VideoLecture videoLecture = await db.VideoLectures.FindAsync(id);

            img = videoLecture.Image;
            if (videoLecture == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Cid = new SelectList(db.Coachings, "Cid", "Name", videoLecture.Cid);
            return(View(videoLecture));
        }
示例#8
0
        public void GivenADraftCourseThatOneOfItsMediasHasNoUrl()
        {
            var course = CreateDraftCourse();

            var module = new Module("module", course.Id, 1);

            _factory.CreateModule(module);

            var video = new VideoLecture("video", module.Id, 1);

            _factory.CreateLecture(video);

            _command = new PublishCourseCommand {
                CourseId = course.Id
            };
        }
        public void SetUp()
        {
            _lecturesService = new Mock <IUploadMediaService>();
            _commonService   = new Mock <ILecturesCommonService>();
            _unitOfWork      = new Mock <IUnitOfWork>();

            _sut = new UploadMediaCommandHandler(_lecturesService.Object, _commonService.Object, _unitOfWork.Object);

            _mediaLectureToUpdate = new VideoLecture("title", "moduleId", 1);
            _command = new UploadMediaCommand(_mediaLectureToUpdate.Id, "lectureType", null);
            _commonService.Setup(x => x.GetLectureFromRepo(_command.LectureId, default))
            .ReturnsAsync(_mediaLectureToUpdate);

            _mediaResource = new ResourceToCreate(_command.File, VideoType.Instance);
            _lecturesService.Setup(x => x.GenerateMediaResource(_command.File))
            .Returns(_mediaResource);
            _uploadedResource = new ResourceUploadResult("resourceId", "resourceUrl");
            _lecturesService.Setup(x => x.UploadResource(_mediaResource))
            .Returns(_uploadedResource);
        }
示例#10
0
        public void GivenADraftCourseWithAValidContent()
        {
            var course = CreateDraftCourse();

            var module = new Module("module", course.Id, 1);

            _factory.CreateModule(module);

            var article = new ArticleLecture("article", module.Id, 1, content: "some content");

            _factory.CreateLecture(article);

            var video = new VideoLecture("video", module.Id, 1);

            video.SetUrl("mediaUrl");
            _factory.CreateLecture(video);

            _command = new PublishCourseCommand {
                CourseId = course.Id
            };
        }
示例#11
0
        public void GivenADraftCourseAndAModuleHavingTheFollowingLecturesOrders(Table table)
        {
            var course = new Course("course", _instructorId, DateTime.Now);

            _factory.CreateCourse(course);

            var module = new Module("module", course.Id, 1);

            _factory.CreateModule(module);

            var lecture1 = new ArticleLecture("lecture 1", module.Id, 1, "lecture 1 content");

            _factory.CreateLecture(lecture1);
            var lecture2 = new VideoLecture("lecture 2", module.Id, 2);

            _factory.CreateLecture(lecture2);

            _command = new UpdateLecturesOrdersCommand {
                ModuleId = module.Id
            };
            _lecturesIds = new[] { lecture1.Id, lecture2.Id };
        }
示例#12
0
        public void GivenAnExistingTrainingCourse()
        {
            _courseToGetInfoAbout = new Course("course", _instructorId, DateTime.Now);
            _factory.CreateCourse(_courseToGetInfoAbout);
            _courseToGetInfoAbout.AddLearnedSkill("skill1");
            _courseToGetInfoAbout.AddLearnedSkill("skill2");
            _courseId = _courseToGetInfoAbout.Id;

            var module = new Module("module", _courseToGetInfoAbout.Id, 1);

            _factory.CreateModule(module);

            var article = new ArticleLecture("article", module.Id, 1, "article content");

            article.UpdateDuration(60);
            _factory.CreateLecture(article);

            var video = new VideoLecture("video", module.Id, 2);

            video.SetUrl("videoUrl");
            video.UpdateDuration(100);
            _factory.CreateLecture(video);
        }