Example #1
0
        public void Should_set_language_status_to_activated()
        {
            var language      = new Language();
            var command       = new ActivateLanguage();
            var validatorMock = new Mock <IValidator <ActivateLanguage> >();

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

            language.Activate(command, validatorMock.Object);

            Assert.AreEqual(true, language.Status == LanguageStatus.Active);
        }
Example #2
0
        public void Should_call_validator()
        {
            var language      = new Language();
            var command       = new ActivateLanguage();
            var validatorMock = new Mock <IValidator <ActivateLanguage> >();

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

            language.Activate(command, validatorMock.Object);

            validatorMock.Verify(x => x.Validate(command));
        }
Example #3
0
        public void Should_throw_exception_when_already_activated()
        {
            var language      = new Language();
            var command       = new ActivateLanguage();
            var validatorMock = new Mock <IValidator <ActivateLanguage> >();

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

            language.Activate(command, validatorMock.Object);

            Assert.Throws <Exception>(() => language.Activate(command, validatorMock.Object));
        }
        public void Should_have_validation_error_when_site_id_is_empty()
        {
            var command = new ActivateLanguage
            {
                SiteId = Guid.Empty,
                Id     = Guid.NewGuid()
            };

            var siteRulesMock = new Mock <ISiteRules>();
            var validator     = new ActivateLanguageValidator(siteRulesMock.Object);

            validator.ShouldHaveValidationErrorFor(x => x.SiteId, command);
        }
Example #5
0
        public void Should_set_site_id_in_language_activated_event()
        {
            var language      = new Language();
            var command       = new ActivateLanguage();
            var validatorMock = new Mock <IValidator <ActivateLanguage> >();

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

            language.Activate(command, validatorMock.Object);

            var @event = language.Events.OfType <LanguageActivated>().SingleOrDefault();

            Assert.AreEqual(language.SiteId, @event.SiteId);
        }
Example #6
0
        public void Should_add_language_activated_event()
        {
            var language      = new Language();
            var command       = new ActivateLanguage();
            var validatorMock = new Mock <IValidator <ActivateLanguage> >();

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

            language.Activate(command, validatorMock.Object);

            var @event = language.Events.OfType <LanguageActivated>().SingleOrDefault();

            Assert.IsNotNull(@event);
        }
Example #7
0
        public void Activate(ActivateLanguage cmd, IValidator <ActivateLanguage> validator)
        {
            validator.ValidateCommand(cmd);

            if (Status == LanguageStatus.Active)
            {
                throw new Exception("Language already active.");
            }

            AddEvent(new LanguageActivated
            {
                SiteId          = SiteId,
                AggregateRootId = Id
            });
        }
        public void Should_have_validation_error_when_site_does_not_exist()
        {
            var command = new ActivateLanguage
            {
                SiteId = Guid.NewGuid(),
                Id     = Guid.NewGuid()
            };

            var siteRulesMock = new Mock <ISiteRules>();

            siteRulesMock.Setup(x => x.DoesSiteExist(command.SiteId)).Returns(false);

            var validator = new ActivateLanguageValidator(siteRulesMock.Object);

            validator.ShouldHaveValidationErrorFor(x => x.SiteId, command);
        }
        public void Should_throw_exception_when_language_is_not_found()
        {
            var command = new ActivateLanguage
            {
                SiteId = Guid.NewGuid(),
                Id     = Guid.NewGuid()
            };

            var repositoryMock = new Mock <ILanguageRepository>();

            repositoryMock.Setup(x => x.GetById(command.SiteId, command.Id)).Returns((Language)null);

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

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

            var activateLanguageHandler = new ActivateLanguageHandler(repositoryMock.Object, validatorMock.Object);

            Assert.Throws <Exception>(() => activateLanguageHandler.Handle(command));
        }
        public void Should_update_language()
        {
            var command = new ActivateLanguage
            {
                SiteId = Guid.NewGuid(),
                Id     = Guid.NewGuid()
            };

            var languageMock = new Mock <Language>();

            var repositoryMock = new Mock <ILanguageRepository>();

            repositoryMock.Setup(x => x.GetById(command.SiteId, command.Id)).Returns(languageMock.Object);

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

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

            var activateLanguageHandler = new ActivateLanguageHandler(repositoryMock.Object, validatorMock.Object);

            activateLanguageHandler.Handle(command);

            repositoryMock.Verify(x => x.Update(It.IsAny <Language>()));
        }