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 void UpdateLectureRepo_WhenCalled_UpdateLectureRepo()
        {
            var lecture = new ArticleLecture("lecture", "moduleId", 1, "content");

            _sut.UpdateLectureRepo(lecture);

            _repo.Verify(x => x.UpdateLecture(lecture));
        }
Esempio n. 3
0
        public void RemoveLectureFromRepo_WhenCalled_RemoveLectureFromRepo()
        {
            var lecture = new ArticleLecture("lecture", "moduleId", 1, "content");

            _sut.RemoveLectureFromRepo(lecture);

            _repo.Verify(x => x.RemoveLecture(lecture));
        }
Esempio n. 4
0
        public void AddLectureToRepo_WhenCalled_AddTheLectureToRepo()
        {
            var lecture = new ArticleLecture("lecture", "moduleId", 1, "content");

            _sut.AddLectureToRepo(lecture, default);

            _repo.Verify(x => x.AddLecture(lecture, default));
        }
Esempio n. 5
0
        public void GetLectureFromRepo_LectureDoesExist_ReturnCorrectLecture()
        {
            var lecture = new ArticleLecture("title", "moduleId", 1, "content");

            _repo.Setup(x => x.GetLectureWithCourse("lectureId", "organizationId", default))
            .ReturnsAsync(lecture);

            var result = _sut.GetLectureFromRepo("lectureId", default).Result;

            Assert.That(result, Is.EqualTo(lecture));
        }
Esempio n. 6
0
        public void CheckCourseStatusForModification_CourseIsEditable_NotThrowException()
        {
            // Arrange
            var course = new Mock <Course>("title", "creatorId", DateTime.Now);

            course.Setup(x => x.IsEditable).Returns(true);
            var module  = new Module("module", course.Object, 1);
            var lecture = new ArticleLecture("lecture", module, 1, "content");

            // Act & Assert
            Assert.That(() => _sut.CheckCourseStatusForModification(lecture), Throws.Nothing);
        }
Esempio n. 7
0
        public void SetUp()
        {
            _service    = new Mock <ICreateLectureService>();
            _unitOfWork = new Mock <IUnitOfWork>();

            _command = new CreateLectureCommand();

            _createdLecture = new ArticleLecture(_command.Title, _command.ModuleId, _command.Order, _command.Content);
            _service.Setup(x => x.CreateLecture(_command))
            .Returns(_createdLecture);

            _sut = new CreateLectureCommandHandler(_service.Object, _unitOfWork.Object);
        }
Esempio n. 8
0
        public void GivenACourseThatHasNoErrors()
        {
            var course = new Course("course", _instructorId, DateTime.Now);

            _courseId = course.Id;
            _factory.CreateCourse(course);

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

            _factory.CreateModule(module);

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

            _factory.CreateLecture(lecture);
        }
Esempio n. 9
0
        public void GivenALectureBelongingToADraftCourse()
        {
            var course = new Course("course", _instructorId, DateTime.Now);

            _factory.CreateCourse(course);

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

            _factory.CreateModule(module);

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

            _factory.CreateLecture(lecture);

            _lectureToDeleteId = lecture.Id;
        }
Esempio n. 10
0
        public void GivenADraftCourseThatOneOfItsArticlesHasNoContent()
        {
            var course = CreateDraftCourse();

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

            _factory.CreateModule(module);

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

            _factory.CreateLecture(article);

            _command = new PublishCourseCommand {
                CourseId = course.Id
            };
        }
Esempio n. 11
0
        public async Task WhenIDeleteALectureWhileTheCourseIsPublished()
        {
            var course = new Course("course", _instructorId, DateTime.Now);

            course.ChangeCourseStatus(PublishedStatus.Instance);
            _factory.CreateCourse(course);

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

            _factory.CreateModule(module);

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

            _factory.CreateLecture(lecture);

            _response = await _client.DeleteAsync($@"{BaseUrl}/{lecture.Id}");
        }
Esempio n. 12
0
        public void GivenALectureBelongingToADraftCourseWith(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 lecture = new ArticleLecture("old title", module.Id, 1, "old content");

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

            _command = new UpdateLectureCommand {
                LectureId = lecture.Id
            };
        }
Esempio n. 13
0
        public async Task WhenIUpdateALectureWhileTheCourseIsPublished()
        {
            var course = new Course("course", _instructorId, DateTime.Now);

            course.ChangeCourseStatus(PublishedStatus.Instance);
            _factory.CreateCourse(course);

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

            _factory.CreateModule(module);

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

            _factory.CreateLecture(lecture);

            _command = new UpdateLectureCommand {
                LectureId = lecture.Id, Title = "lecture title"
            };
            _response = await _client.PutAsync(BaseUrl, Utilities.GetRequestContent(_command));
        }
Esempio n. 14
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
            };
        }
Esempio n. 15
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 };
        }
Esempio n. 16
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);
        }
Esempio n. 17
0
 public void UpdateArticleContent(ArticleLecture article, string content)
 {
     article.UpdateContent(content);
 }