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