Esempio n. 1
0
        public void Should_validate_command_and_save_new_textModule()
        {
            var textModule = TextModuleFactory.Get();

            var command = new AddVersion
            {
                SiteId   = Guid.NewGuid(),
                ModuleId = textModule.ModuleId,
                Id       = Guid.NewGuid(),
                Content  = "Content",
                Status   = TextVersionStatus.Draft
            };

            var textModuleRepositoryMock = new Mock <ITextModuleRepository>();

            textModuleRepositoryMock.Setup(x => x.GetByModuleId(command.ModuleId)).Returns(textModule);
            textModuleRepositoryMock.Setup(x => x.Update(It.IsAny <TextModule>()));

            var validatorMock = new Mock <IValidator <AddVersion> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            var addVersionHandler = new AddVersionHandler(textModuleRepositoryMock.Object, validatorMock.Object);

            addVersionHandler.Handle(command);

            validatorMock.Verify(x => x.Validate(command));
            textModuleRepositoryMock.Verify(x => x.Update(It.IsAny <TextModule>()));
        }
Esempio n. 2
0
        public void Setup()
        {
            _textModule = TextModuleFactory.Get();

            _command = new AddVersion
            {
                SiteId               = Guid.NewGuid(),
                ModuleId             = Guid.NewGuid(),
                Id                   = Guid.NewGuid(),
                VersionId            = Guid.NewGuid(),
                Content              = "Content",
                Description          = "Description",
                Status               = TextVersionStatus.Published,
                VersionLocalisations = new List <AddVersion.VersionLocalisation>()
                {
                    new AddVersion.VersionLocalisation
                    {
                        LanguageId = Guid.NewGuid(),
                        Content    = "Localised content"
                    }
                }
            };

            _validatorMock = new Mock <IValidator <AddVersion> >();
            _validatorMock.Setup(x => x.Validate(_command)).Returns(new ValidationResult());

            _textModule.AddVersion(_command, _validatorMock.Object);

            _newVersion = _textModule.TextVersions.FirstOrDefault(x => x.Id == _command.VersionId);

            _event = _textModule.Events.OfType <VersionAdded>().SingleOrDefault();
        }
Esempio n. 3
0
        public void Should_throw_an_exception_if_status_is_not_published_or_draft(TextVersionStatus status)
        {
            var textModule = TextModuleFactory.Get();

            var command = new AddVersion
            {
                Status = status,
            };

            var validatorMock = new Mock <IValidator <AddVersion> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            Assert.Throws <Exception>(() => textModule.AddVersion(command, validatorMock.Object));
        }
Esempio n. 4
0
        public void Should_not_change_status_of_current_published_version_if_new_version_status_is_draft()
        {
            var textModule = TextModuleFactory.Get();

            var currentPublishedVersion = textModule.TextVersions.Single(x => x.Status == TextVersionStatus.Published);

            var command = new AddVersion
            {
                Status = TextVersionStatus.Draft,
            };

            var validatorMock = new Mock <IValidator <AddVersion> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            textModule.AddVersion(command, validatorMock.Object);

            Assert.AreEqual(TextVersionStatus.Published, currentPublishedVersion.Status);
        }