Exemple #1
0
        public void Should_throw_exception_if_site_not_found()
        {
            var siteId     = Guid.NewGuid();
            var languageId = Guid.NewGuid();

            var command = new ReorderLanguages
            {
                SiteId    = siteId,
                Languages = new List <Guid>
                {
                    languageId
                }
            };

            var languageRepositoryMock = new Mock <ILanguageRepository>();

            languageRepositoryMock.Setup(x => x.GetById(siteId, languageId)).Returns(It.IsAny <Language>());

            var siteRulesMock = new Mock <ISiteRules>();

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

            var reorderLanguagesHandler = new ReorderLanguagesHandler(languageRepositoryMock.Object, siteRulesMock.Object);

            Assert.Throws <Exception>(() => reorderLanguagesHandler.Handle(command));
        }
Exemple #2
0
        public void Should_have_validation_error_when_site_id_is_empty()
        {
            var command = new ReorderLanguages
            {
                SiteId = Guid.Empty
            };

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

            validator.ShouldHaveValidationErrorFor(x => x.SiteId, command);
        }
Exemple #3
0
        public void Should_have_validation_error_when_site_does_not_exist()
        {
            var command = new ReorderLanguages
            {
                SiteId = Guid.NewGuid()
            };

            var siteRulesMock = new Mock <ISiteRules>();

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

            var validator = new ReorderLanguagesValidator(siteRulesMock.Object);

            validator.ShouldHaveValidationErrorFor(x => x.SiteId, command);
        }
Exemple #4
0
        public void Should_change_sort_order_and_update_languages()
        {
            var siteId      = Guid.NewGuid();
            var language1Id = Guid.NewGuid();
            var language2Id = Guid.NewGuid();

            var command = new ReorderLanguages
            {
                SiteId    = siteId,
                Languages = new List <Guid>
                {
                    language1Id,
                    language2Id
                }
            };

            var language1 = new Language();

            typeof(Language).GetTypeInfo().GetProperty("Id").SetValue(language1, language1Id, null);
            typeof(Language).GetTypeInfo().GetProperty("SortOrder").SetValue(language1, 2, null);

            var language2 = new Language();

            typeof(Language).GetTypeInfo().GetProperty("Id").SetValue(language2, language2Id, null);
            typeof(Language).GetTypeInfo().GetProperty("SortOrder").SetValue(language2, 1, null);

            var languageRepositoryMock = new Mock <ILanguageRepository>();

            languageRepositoryMock.Setup(x => x.GetById(siteId, language1Id)).Returns(language1);
            languageRepositoryMock.Setup(x => x.GetById(siteId, language2Id)).Returns(language2);
            languageRepositoryMock.Setup(x => x.Update(It.IsAny <List <Language> >()));

            var siteRulesMock = new Mock <ISiteRules>();

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

            var reorderLanguagesHandler = new ReorderLanguagesHandler(languageRepositoryMock.Object, siteRulesMock.Object);

            reorderLanguagesHandler.Handle(command);

            Assert.AreEqual(1, language1.SortOrder);
            Assert.AreEqual(2, language2.SortOrder);
            languageRepositoryMock.Verify(x => x.Update(It.IsAny <List <Language> >()));
        }