public void ApplyIncludesReturnsNull() { // Arrange var organizationList = EntityGenerator.GetOrganizationEntityList(1, PublishingStatusCache); var deletedOrganization = organizationList.Where(o => o.PublishingStatusId == DeletedId).FirstOrDefault(); var id = deletedOrganization.Id; var unitOfWork = unitOfWorkMockSetup.Object; var contextManager = new TestContextManager(unitOfWork, unitOfWork); var serviceUtilities = new ServiceUtilities(UserIdentification, LockingManager, contextManager, UserOrganizationService, VersioningManager, UserInfoService, UserOrganizationChecker); translationManagerMockSetup.Setup(t => t.Translate <OrganizationVersioned, VmOpenApiOrganizationSaha>(deletedOrganization)) .Returns(new VmOpenApiOrganizationSaha()); var translationManagerMock = translationManagerMockSetup.Object; VersioningManagerMock.Setup(s => s.GetVersionId <OrganizationVersioned>(unitOfWork, id, PublishingStatus.Published, true)).Returns(Guid.NewGuid()); OrganizationRepoMock.Setup(g => g.All()).Returns(organizationList.AsQueryable()); var service = new DataAccess.Services.OrganizationService(contextManager, translationManagerMock, TranslationManagerVModel, Logger, OrganizationLogic, serviceUtilities, DataUtils, CommonService, AddressService, PublishingStatusCache, LanguageCache, VersioningManager, UserOrganizationChecker, CacheManager.TypesCache); // Act Action act = () => service.GetOrganizationSahaById(id); // Assert act.ShouldThrow <Exception>(); }
public void RightVersionNotFound(bool getOnlyPublished) { // Arrange var id = Guid.NewGuid(); var unitOfWork = unitOfWorkMockSetup.Object; var contextManager = new TestContextManager(unitOfWork, unitOfWork); var serviceUtilities = new ServiceUtilities(UserIdentification, LockingManager, contextManager, UserOrganizationService, VersioningManager, UserInfoService, UserOrganizationChecker); var translationManagerMock = translationManagerMockSetup.Object; VersioningManagerMock.Setup(s => s.GetVersionId <OrganizationVersioned>(unitOfWork, id, PublishingStatus.Published, true)).Returns((Guid?)null); VersioningManagerMock.Setup(s => s.GetVersionId <OrganizationVersioned>(unitOfWork, id, null, false)).Returns((Guid?)null); var service = new DataAccess.Services.OrganizationService(contextManager, translationManagerMock, TranslationManagerVModel, Logger, OrganizationLogic, serviceUtilities, DataUtils, CommonService, AddressService, PublishingStatusCache, LanguageCache, VersioningManager, UserOrganizationChecker, CacheManager.TypesCache); // Act var result = service.GetOrganizationById(id, DefaultVersion, getOnlyPublished); // Assert result.Should().BeNull(); if (getOnlyPublished) { VersioningManagerMock.Verify(x => x.GetVersionId <OrganizationVersioned>(unitOfWork, id, PublishingStatus.Published, true), Times.Once()); } else { VersioningManagerMock.Verify(x => x.GetVersionId <OrganizationVersioned>(unitOfWork, id, null, false), Times.Once()); } }
private IVmOpenApiGuidPageVersionBase ArrangeAndAct(DateTime?date, List <OrganizationVersioned> entityList, int pageNumber, int pageSize, bool archived, int version = 7) { // unitOfWork OrganizationRepoMock.Setup(g => g.All()).Returns(entityList.AsQueryable()); unitOfWorkMockSetup.Setup(uw => uw.ApplyIncludes( It.IsAny <IQueryable <OrganizationVersioned> >(), It.IsAny <Func <IQueryable <OrganizationVersioned>, IQueryable <OrganizationVersioned> > >(), It.IsAny <bool>() )).Returns((IQueryable <OrganizationVersioned> organizations, Func <IQueryable <OrganizationVersioned>, IQueryable <OrganizationVersioned> > func, bool applyFilters) => { return(organizations); }); var unitOfWorkMock = unitOfWorkMockSetup.Object; // Translation manager translationManagerMockSetup.Setup(t => t.TranslateAll <OrganizationVersioned, VmOpenApiOrganizationItem>(It.IsAny <IList <OrganizationVersioned> >())) .Returns((ICollection <OrganizationVersioned> collection) => { var list = new List <VmOpenApiOrganizationItem>(); if (collection?.Count > 0) { collection.ToList().ForEach(c => list.Add(new VmOpenApiOrganizationItem { ParentOrganization = c.ParentId, Id = c.UnificRootId, })); } return(list); }); var translationManagerMock = translationManagerMockSetup.Object; var contextManager = new TestContextManager(unitOfWorkMock, unitOfWorkMock); var serviceUtilities = new ServiceUtilities(UserIdentification, LockingManager, contextManager, UserOrganizationService, VersioningManager, UserInfoService, UserOrganizationChecker); var service = new DataAccess.Services.OrganizationService(contextManager, translationManagerMock, TranslationManagerVModel, Logger, OrganizationLogic, serviceUtilities, DataUtils, CommonService, AddressService, PublishingStatusCache, LanguageCache, VersioningManager, UserOrganizationChecker, CacheManager.TypesCache); // Act return(service.GetOrganizations(date, version, pageNumber, pageSize, archived)); }
public void NoDateDefined() { // Arrange var pageSize = 1; organizationList = EntityGenerator.GetOrganizationEntityList(1, PublishingStatusCache); var publishedAndDeletedList = organizationList.Where(e => e.PublishingStatusId == PublishedId && e.LanguageAvailabilities.Any(l => l.StatusId == PublishedId) || e.PublishingStatusId == DeletedId || e.PublishingStatusId == OldPublishedId).ToList(); OrganizationRepoMock.Setup(g => g.All()).Returns(organizationList.AsQueryable()); // unitOfWork unitOfWorkMockSetup.Setup(uw => uw.ApplyIncludes( It.IsAny <IQueryable <OrganizationVersioned> >(), It.IsAny <Func <IQueryable <OrganizationVersioned>, IQueryable <OrganizationVersioned> > >(), It.IsAny <bool>() )).Returns(publishedAndDeletedList.AsQueryable()); var unitOfWorkMock = unitOfWorkMockSetup.Object; translationManagerMockSetup.Setup(t => t.TranslateAll <OrganizationVersioned, VmOpenApiOrganizationSaha>(It.IsAny <IList <OrganizationVersioned> >())) .Returns(new List <VmOpenApiOrganizationSaha> { new VmOpenApiOrganizationSaha() }); var contextManager = new TestContextManager(unitOfWorkMock, unitOfWorkMock); var serviceUtilities = new ServiceUtilities(UserIdentification, LockingManager, contextManager, UserOrganizationService, VersioningManager, UserInfoService, UserOrganizationChecker); var service = new DataAccess.Services.OrganizationService(contextManager, translationManagerMockSetup.Object, TranslationManagerVModel, Logger, OrganizationLogic, serviceUtilities, DataUtils, CommonService, AddressService, PublishingStatusCache, LanguageCache, VersioningManager, UserOrganizationChecker, CacheManager.TypesCache); // Act var result = service.GetOrganizationsSaha(null, 1, pageSize); // Assert result.Should().NotBeNull(); result.PageCount.Should().Be(publishedAndDeletedList.Count); }
public void OnlyTwoSubOrganizationLevelsReturned() { // Arrange // set an organization list where exists three levels of suborganizations. So we need at least 4 items in a list. organizationList = EntityGenerator.GetOrganizationEntityList(2, PublishingStatusCache); // 2 * 5 items var publishedAndDeletedList = organizationList.Where(e => e.PublishingStatusId == PublishedId && e.LanguageAvailabilities.Any(l => l.StatusId == PublishedId) || e.PublishingStatusId == DeletedId || e.PublishingStatusId == OldPublishedId).ToList(); // includes 6 items = 2 * 3 var mainOrganization = publishedAndDeletedList.FirstOrDefault(); var nextItem = 1; var parentId = mainOrganization.Id; publishedAndDeletedList.ForEach(o => { if (o.Id != mainOrganization.Id) { o.ParentId = parentId; switch (nextItem) { case 1: // First level organization o.Parent = new Model.Models.Organization { Versions = new List <OrganizationVersioned> { new OrganizationVersioned { PublishingStatusId = PublishedId } } }; nextItem = 2; break; case 2: // Second level organization o.Parent = new Model.Models.Organization { Versions = new List <OrganizationVersioned> { new OrganizationVersioned { PublishingStatusId = PublishedId, ParentId = Guid.NewGuid(), Parent = new Model.Models.Organization { Versions = new List <OrganizationVersioned> { new OrganizationVersioned { PublishingStatusId = PublishedId } } } } } }; nextItem = 3; break; case 3: // Third level organization o.Parent = new Model.Models.Organization { Versions = new List <OrganizationVersioned> { new OrganizationVersioned { PublishingStatusId = PublishedId, ParentId = Guid.NewGuid(), Parent = new Model.Models.Organization { Versions = new List <OrganizationVersioned> { new OrganizationVersioned { PublishingStatusId = PublishedId, ParentId = Guid.NewGuid(), Parent = new Model.Models.Organization { Versions = new List <OrganizationVersioned> { new OrganizationVersioned { PublishingStatusId = PublishedId } } } } }, } } } }; nextItem = 3; break; default: break; } parentId = o.Id; } }); var validLevelsList = publishedAndDeletedList.Where(o => o.ParentId == null || // main level (o.Parent != null && o.Parent.Versions.Any(p => (p.PublishingStatusId == PublishedId || p.PublishingStatusId == DeletedId) && (p.ParentId == null || // first level child p.Parent != null && p.Parent.Versions.Any(pp => (pp.PublishingStatusId == PublishedId || pp.PublishingStatusId == DeletedId) && pp.ParentId == null))))); OrganizationRepoMock.Setup(g => g.All()).Returns(organizationList.AsQueryable()); // unitOfWork unitOfWorkMockSetup.Setup(uw => uw.ApplyIncludes( It.IsAny <IQueryable <OrganizationVersioned> >(), It.IsAny <Func <IQueryable <OrganizationVersioned>, IQueryable <OrganizationVersioned> > >(), It.IsAny <bool>() )).Returns(validLevelsList.AsQueryable()); var unitOfWorkMock = unitOfWorkMockSetup.Object; translationManagerMockSetup.Setup(t => t.TranslateAll <OrganizationVersioned, VmOpenApiOrganizationSaha>(It.IsAny <IList <OrganizationVersioned> >())) .Returns(new List <VmOpenApiOrganizationSaha> { new VmOpenApiOrganizationSaha() }); var contextManager = new TestContextManager(unitOfWorkMock, unitOfWorkMock); var serviceUtilities = new ServiceUtilities(UserIdentification, LockingManager, contextManager, UserOrganizationService, VersioningManager, UserInfoService, UserOrganizationChecker); var service = new DataAccess.Services.OrganizationService(contextManager, translationManagerMockSetup.Object, TranslationManagerVModel, Logger, OrganizationLogic, serviceUtilities, DataUtils, CommonService, AddressService, PublishingStatusCache, LanguageCache, VersioningManager, UserOrganizationChecker, CacheManager.TypesCache); // Act var result = service.GetOrganizationsSaha(null, 1, 1); // Assert result.Should().NotBeNull(); result.PageCount.Should().Be(validLevelsList.Count()); Assert.IsType <VmOpenApiOrganizationSahaGuidPage>(result); }