public void GetMissingRequiredCategories_Returns_Missing_Required_Categories_When_They_Are_Missing() { var presentCategory = new MetaCategory { Name = "Present", Id = 1, TypeGroup = new TypeGroup { Name = "Language" } }; var missingCategory = new MetaCategory { Name = "Missing", Id = 2 }; var requiredCategories = new List <MetaCategory> { missingCategory, presentCategory }; var presentMeta = new MetaData { Category = presentCategory, Id = 1 }; A.CallTo(() => _metadataRepository.GetByRangeOfIds(A <List <int> > ._)).Returns(new List <MetaData> { presentMeta }); A.CallTo(() => _categoryRepository.GetRequiredCategories(A <string> ._)).Returns(requiredCategories); Assert.Single(_validationService.GetMissingRequiredCategories(new List <int> { presentMeta.Id })); }
public void GetByRangeOfIds_Returns_Empty_List_When_List_of_Ids_Is_Null() { var meta = Mock.MockMeta(_status, _category); Mock.Database.InsertMeta(meta); Assert.Empty(MetaRepository.GetByRangeOfIds(null)); }
public List <string> GetMissingRequiredCategories(List <int> metaIds) { var missingCategories = new List <string>(); if (metaIds == null) { metaIds = new List <int>(); } var metas = _metadataRepository.GetByRangeOfIds(metaIds); // Retrieves the language of the metadata. var metasWithLanguage = metas.Where(x => x.Category.TypeGroup.Name.ToLower().Equals("language")).ToList(); var languageMeta = metasWithLanguage.FirstOrDefault(); if (languageMeta == null) { missingCategories.Add("Language"); return(missingCategories); } var requiredCategories = _categoryRepository.GetRequiredCategories(languageMeta.Abbreviation); foreach (var requiredCategory in requiredCategories) { var category = metas.FirstOrDefault(x => x.Category.Id == requiredCategory.Id); if (category == null) { missingCategories.Add(requiredCategory.Name); } } return(missingCategories); }
private Language GetLanguage(Response viewModel, List <int> metaIds) { // Fetch language id var metas = _metaRepository.GetByRangeOfIds(metaIds); var languageMeta = metas.FirstOrDefault(x => x.Category.TypeGroup.Name.ToLower().Equals("language")); if (languageMeta == null) { viewModel.Errors.TryAddModelError("metaIds", "Did not contain an id for language"); return(null); } var language = _languageRepository.GetByAbbreviation(languageMeta.Language.Abbreviation); if (language == null) { viewModel.Errors.TryAddModelError("metaIds", $"Language meta with id {languageMeta.Id} is not supported"); } return(language); }
public ConceptServiceTest() { ConceptMediaRepository = A.Fake <IConceptMediaRepository>(); ConceptRepository = A.Fake <IConceptRepository>(); StatusRepository = A.Fake <IStatusRepository>(); LanguageRepository = A.Fake <ILanguageRepository>(); MetadataRepository = A.Fake <IMetadataRepository>(); UrlHelper = A.Fake <IUrlHelper>(); Mapper = AutoMapper.Mapper.Instance; Service = new ConceptService(ConceptRepository, StatusRepository, ConceptMediaRepository, MetadataRepository, LanguageRepository, Mapper, UrlHelper); Mock = new Mock.Mock(); _status = new Status(); BaseListQuery = BaseListQuery.DefaultValues("nb"); _language = new Language(); _listOfMetaWithLanguage = new List <MetaData> { new MetaData { Language = _language, Category = new MetaCategory { TypeGroup = new TypeGroup { Name = "language" } } } }; _userInfo = new UserInfo { FullName = "Fullname", Email = "Email" }; A.CallTo(() => StatusRepository.GetById(A <int> ._)).Returns(null); A.CallTo(() => MetadataRepository.GetByRangeOfIds(A <List <int> > ._)).Returns(_listOfMetaWithLanguage); A.CallTo(() => LanguageRepository.GetByAbbreviation(A <string> ._)).Returns(_language); }