示例#1
0
        public async Task WhenIUpdateACourseModulesWithAnEmptyOrANullId(string courseId)
        {
            _command = new UpdateModulesOrdersCommand {
                CourseId = courseId, ModulesOrders = new ModuleOrderDto[1]
            };

            _response = await _client.PutAsync(BaseUrl, Utilities.GetRequestContent(_command));
        }
        public void ModulesOrdersCollectionIsNull_ShouldHaveError()
        {
            var command = new UpdateModulesOrdersCommand {
                ModulesOrders = null
            };

            _sut.ShouldHaveValidationErrorFor(x => x.CourseId, command);
        }
        public void ModulesOrdersCollectionIsEmpty_ShouldHaveError()
        {
            var command = new UpdateModulesOrdersCommand {
                ModulesOrders = new Collection <ModuleOrderDto>()
            };

            _sut.ShouldHaveValidationErrorFor(x => x.CourseId, command);
        }
        public void EmptyOrNullCourseId_ShouldHaveError(string courseId)
        {
            var command = new UpdateModulesOrdersCommand {
                CourseId = courseId
            };

            _sut.ShouldHaveValidationErrorFor(x => x.CourseId, command);
        }
示例#5
0
        public async Task WhenIUpdateACourseModulesWithAnInvalidCourseId()
        {
            _command = new UpdateModulesOrdersCommand
            {
                CourseId = "invalidCourseId", ModulesOrders = new ModuleOrderDto[1]
            };

            _response = await _client.PutAsync(BaseUrl, Utilities.GetRequestContent(_command));
        }
示例#6
0
        public async Task WhenIUpdateACourseModulesWithoutSpecifyingModulesOrders()
        {
            _command = new UpdateModulesOrdersCommand
            {
                CourseId = "courseId", ModulesOrders = new List <ModuleOrderDto>()
            };

            _response = await _client.PutAsync(BaseUrl, Utilities.GetRequestContent(_command));
        }
示例#7
0
        public async Task WhenIUpdateModulesOrdersOfAPublishedCourse()
        {
            var course = new Course("course", _instructorId, DateTime.Now);

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

            _command = new UpdateModulesOrdersCommand {
                CourseId = course.Id, ModulesOrders = new ModuleOrderDto[1]
            };
            _response = await _client.PutAsync(BaseUrl, Utilities.GetRequestContent(_command));
        }
示例#8
0
        public void GivenADraftCourseHavingTheFollowingModulesOrders(Table table)
        {
            var course = new Course("course", _instructorId, DateTime.Now);

            _factory.CreateCourse(course);

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

            _factory.CreateModule(module1);
            var module2 = new Module("module 2", course.Id, 2);

            _factory.CreateModule(module2);

            _command = new UpdateModulesOrdersCommand {
                CourseId = course.Id
            };
            _modulesIds = new[] { module1.Id, module2.Id };
        }
示例#9
0
        public async Task WhenIUpdateACourseBelongingToAnOtherOrganization()
        {
            var otherOrganization = new Organization("other organization", SubscriptionPlans.Free);

            _factory.CreateOrganization(otherOrganization);

            var otherInstructor = new User("*****@*****.**", otherOrganization.Id);

            _factory.CreateUser(otherInstructor);

            var course = new Course("course", otherInstructor.Id, DateTime.Now);

            _factory.CreateCourse(course);

            _command = new UpdateModulesOrdersCommand {
                CourseId = course.Id, ModulesOrders = new ModuleOrderDto[1]
            };
            _response = await _client.PutAsync(BaseUrl, Utilities.GetRequestContent(_command));
        }
        public void ValidParameters_ShouldNotHaveError()
        {
            var command = new UpdateModulesOrdersCommand
            {
                CourseId      = "courseId",
                ModulesOrders = new[]
                {
                    new ModuleOrderDto {
                        ModuleId = "module1", Order = 1
                    },
                    new ModuleOrderDto {
                        ModuleId = "module2", Order = 2
                    }
                }
            };

            _sut.ShouldNotHaveValidationErrorFor(x => x.CourseId, command);
            _sut.ShouldNotHaveValidationErrorFor(x => x.ModulesOrders, command);
        }
示例#11
0
        public void SetUp()
        {
            _service       = new Mock <IUpdateModulesOrdersService>();
            _commonService = new Mock <ICoursesCommonService>();
            _unitOfWork    = new Mock <IUnitOfWork>();


            _command = new UpdateModulesOrdersCommand
            {
                CourseId      = "courseId",
                ModulesOrders = new[] { new ModuleOrderDto() }
            };
            _modulesToUpdateOrders = new List <Module>();

            _sut = new UpdateModulesOrdersCommandHandler(_service.Object, _commonService.Object,
                                                         _unitOfWork.Object);

            _service.Setup(x => x.GetCourseModulesFromRepo(_command.CourseId, default))
            .ReturnsAsync(_modulesToUpdateOrders);
        }
示例#12
0
        public async Task <ActionResult> UpdateModulesOrders(UpdateModulesOrdersCommand command, CancellationToken token)
        {
            await Mediator.Send(command, token);

            return(NoContent());
        }