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>())); }
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(); }
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)); }
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); }