Пример #1
0
        protected override SavePageContentModel GetCreateModel(ISession session)
        {
            var parentContent     = TestDataProvider.CreateNewHtmlContent(20);
            var parentRegion      = TestDataProvider.CreateNewRegion();
            var parentPageContent = TestDataProvider.CreateNewPageContent(parentContent, page, parentRegion);

            var content = TestDataProvider.CreateNewHtmlContent(20);
            var region  = TestDataProvider.CreateNewRegion();

            var contentOption = new ContentOption
            {
                Content      = content,
                DefaultValue = TestDataProvider.ProvideRandomString(100),
                Key          = TestDataProvider.ProvideRandomString(100),
                Type         = BetterCms.Core.DataContracts.Enums.OptionType.Text
            };

            session.SaveOrUpdate(parentContent);
            session.SaveOrUpdate(parentRegion);
            session.SaveOrUpdate(parentPageContent);

            session.SaveOrUpdate(content);
            session.SaveOrUpdate(region);
            session.SaveOrUpdate(contentOption);

            var model = new SavePageContentModel
            {
                Order               = 100,
                ContentId           = content.Id,
                RegionId            = region.Id,
                ParentPageContentId = hasParentContent ? parentPageContent.Id : (Guid?)null
            };

            if (setOptions)
            {
                model.Options = new List <OptionValueModel>
                {
                    new OptionValueModel
                    {
                        DefaultValue    = TestDataProvider.ProvideRandomString(100),
                        Value           = TestDataProvider.ProvideRandomString(100),
                        Key             = TestDataProvider.ProvideRandomString(100),
                        Type            = OptionType.Text,
                        UseDefaultValue = false
                    },
                    new OptionValueModel
                    {
                        DefaultValue         = Guid.NewGuid().ToString(),
                        Value                = Guid.NewGuid().ToString(),
                        Key                  = TestDataProvider.ProvideRandomString(100),
                        Type                 = OptionType.Custom,
                        CustomTypeIdentifier = MediaManagerFolderOptionProvider.Identifier,
                        UseDefaultValue      = false
                    },
                    new OptionValueModel
                    {
                        DefaultValue    = contentOption.DefaultValue,
                        Value           = TestDataProvider.ProvideRandomString(100),
                        Key             = contentOption.Key,
                        Type            = (OptionType)(int)contentOption.Type,
                        UseDefaultValue = true
                    },
                };
            }

            return(model);
        }
Пример #2
0
        public void Should_Insert_HtmlWidget_To_Page_Successfully()
        {
            // Create html content
            var widget = TestDataProvider.CreateNewHtmlContentWidget();

            widget.Status = ContentStatus.Published;

            var page        = TestDataProvider.CreateNewPage();
            var region      = TestDataProvider.CreateNewRegion();
            var pageContent = TestDataProvider.CreateNewPageContent(widget, page, region);

            pageContent.Order   = TestDataProvider.ProvideRandomNumber(1, 99999);
            pageContent.Id      = Guid.NewGuid();
            pageContent.Version = 10;
            widget.Version      = 20;

            // Mock content Service
            var contentService = new Mock <IContentService>();

            contentService
            .Setup(r => r.GetPageContentNextOrderNumber(It.IsAny <Guid>(), It.IsAny <Guid?>()))
            .Returns(pageContent.Order + 1);

            // Mock
            var repository = new Mock <IRepository>();

            repository
            .Setup(r => r.AsProxy <Page>(It.IsAny <Guid>()))
            .Returns(TestDataProvider.CreateNewPage());
            repository
            .Setup(r => r.AsProxy <Region>(It.IsAny <Guid>()))
            .Returns(TestDataProvider.CreateNewRegion());
            repository
            .Setup(r => r.AsQueryable <PageContent>())
            .Returns(new List <PageContent> {
                pageContent
            }.AsQueryable());
            repository
            .Setup(r => r.AsQueryable <Content>())
            .Returns(new List <Content> {
                widget
            }.AsQueryable());
            repository
            .Setup(r => r.Save(It.IsAny <PageContent>()))
            .Callback <PageContent>(pc =>
            {
                Assert.AreEqual(pc.Order, pageContent.Order + 1);
                pc.Id      = pageContent.Id;
                pc.Version = pageContent.Version;
            });

            // Create command
            var command = new InsertContentToPageCommand(contentService.Object,
                                                         new FakePageContentProjectionFactory(null, null),
                                                         new Mock <IWidgetService>().Object);

            command.UnitOfWork = new Mock <IUnitOfWork>().Object;
            command.Repository = repository.Object;

            // Execute
            var request = new InsertContentToPageRequest {
                ContentId = widget.Id, PageId = page.Id, RegionId = region.Id
            };
            var result = command.Execute(request);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.PageContentId, pageContent.Id);
            Assert.AreEqual(result.PageId, page.Id);
            Assert.AreEqual(result.ContentId, widget.Id);
            Assert.AreEqual(result.ContentType, "html-widget");
            Assert.AreEqual(result.ContentVersion, widget.Version);
            Assert.AreEqual(result.PageContentVersion, pageContent.Version);
            Assert.AreEqual(result.Title, widget.Name);
            Assert.AreEqual(result.RegionId, region.Id);
            Assert.AreEqual(result.DesirableStatus, widget.Status);
        }
Пример #3
0
        protected override SavePagePropertiesModel GetCreateModel(ISession session)
        {
            var category = TestDataProvider.CreateNewCategory();
            var image    = TestDataProvider.CreateNewMediaImage();

            session.SaveOrUpdate(category);
            session.SaveOrUpdate(image);
            session.Flush();
            session.Clear();

            return(new SavePagePropertiesModel
            {
                Title = TestDataProvider.ProvideRandomString(MaxLength.Name),
                Tags = new[] { this.TestDataProvider.ProvideRandomString(MaxLength.Name), this.TestDataProvider.ProvideRandomString(MaxLength.Name) },
                AccessRules = new[]
                {
                    new AccessRuleModel
                    {
                        AccessLevel = AccessLevel.ReadWrite,
                        Identity = TestDataProvider.ProvideRandomString(20),
                        IsForRole = false
                    },
                    new AccessRuleModel
                    {
                        AccessLevel = AccessLevel.Deny,
                        Identity = TestDataProvider.ProvideRandomString(20),
                        IsForRole = true
                    }
                },
                CustomCss = TestDataProvider.ProvideRandomString(MaxLength.Text),
                CustomJavaScript = TestDataProvider.ProvideRandomString(MaxLength.Text),
                Description = TestDataProvider.ProvideRandomString(MaxLength.Text),
                CategoryId = category.Id,
                FeaturedImageId = image.Id,
                IsArchived = false,
                IsMasterPage = false,
                IsPublished = true,
                LanguageGroupIdentifier = null,
                LanguageId = null,
                LayoutId = layout != null ? layout.Id : (Guid?)null,
                MasterPageId = masterPage != null ? masterPage.Id : (Guid?)null,
                SecondaryImageId = image.Id,
                MainImageId = image.Id,
                MetaData = new MetadataModel
                {
                    MetaTitle = TestDataProvider.ProvideRandomString(MaxLength.Name),
                    MetaDescription = TestDataProvider.ProvideRandomString(MaxLength.Text),
                    MetaKeywords = TestDataProvider.ProvideRandomString(MaxLength.Text)
                },
                PageOptions = new List <OptionValueModel>
                {
                    new OptionValueModel
                    {
                        DefaultValue = TestDataProvider.ProvideRandomString(100),
                        Value = TestDataProvider.ProvideRandomString(100),
                        Key = TestDataProvider.ProvideRandomString(100),
                        Type = OptionType.Text,
                        UseDefaultValue = false
                    },
                    new OptionValueModel
                    {
                        DefaultValue = Guid.NewGuid().ToString(),
                        Value = Guid.NewGuid().ToString(),
                        Key = TestDataProvider.ProvideRandomString(100),
                        Type = OptionType.Custom,
                        CustomTypeIdentifier = MediaManagerFolderOptionProvider.Identifier,
                        UseDefaultValue = false
                    }
                },
                PageUrl = string.Format("/{0}/", TestDataProvider.ProvideRandomString(200)),
                PublishedOn = TestDataProvider.ProvideRandomDateTime(),
                UseCanonicalUrl = TestDataProvider.ProvideRandomBooleanValue(),
                UseNoFollow = TestDataProvider.ProvideRandomBooleanValue(),
                UseNoIndex = TestDataProvider.ProvideRandomBooleanValue()
            });
        }
        public void Should_Insert_And_Retrieve_LayoutRegion_Successfully()
        {
            var entity = TestDataProvider.CreateNewLayoutRegion();

            RunEntityMapTestsInTransaction(entity);
        }
 internal TestingContextContainer(TestDataProvider testDataProvider, TransactionManager transactionManager)
 {
     _testDataProvider   = testDataProvider;
     _transactionManager = transactionManager;
 }
Пример #6
0
        public void Should_Insert_And_Retrieve_BlogPostContent_Successfully()
        {
            var entity = TestDataProvider.CreateNewBlogPostContent();

            RunEntityMapTestsInTransaction(entity);
        }
Пример #7
0
        public void Should_Sort_Page_Content_Successfully()
        {
            RunActionInTransaction(session =>
            {
                var layout = TestDataProvider.CreateNewLayout();
                var region = TestDataProvider.CreateNewRegion();

                layout.LayoutRegions = new List <LayoutRegion>
                {
                    TestDataProvider.CreateNewLayoutRegion(layout, region),
                };

                var page          = TestDataProvider.CreateNewPageProperties(layout);
                page.PageContents = new[]
                {
                    TestDataProvider.CreateNewPageContent(TestDataProvider.CreateNewHtmlContent(), page, region),
                    TestDataProvider.CreateNewPageContent(TestDataProvider.CreateNewHtmlContent(), page, region),
                    TestDataProvider.CreateNewPageContent(TestDataProvider.CreateNewHtmlContent(), page, region)
                };

                session.SaveOrUpdate(page);
                session.Flush();
                session.Clear();

                IUnitOfWork unitOfWork = new DefaultUnitOfWork(session);

                var configuration = Container.Resolve <ICmsConfiguration>();
                SortPageContentCommand command = new SortPageContentCommand(configuration);
                command.UnitOfWork             = unitOfWork;
                command.Repository             = new DefaultRepository(unitOfWork);
                command.Context = new Mock <ICommandContext>().Object;

                var accessControlService = new Mock <IAccessControlService>();
                accessControlService.Setup(s => s.DemandAccess(It.IsAny <IPrincipal>(), It.IsAny <string>()));
                command.AccessControlService = accessControlService.Object;

                var request = new PageContentSortViewModel
                {
                    PageId       = page.Id,
                    PageContents =
                        new List <ContentSortViewModel>
                    {
                        new ContentSortViewModel {
                            RegionId = region.Id, PageContentId = page.PageContents[2].Id, Version = page.PageContents[2].Version
                        },
                        new ContentSortViewModel {
                            RegionId = region.Id, PageContentId = page.PageContents[1].Id, Version = page.PageContents[1].Version
                        },
                        new ContentSortViewModel {
                            RegionId = region.Id, PageContentId = page.PageContents[0].Id, Version = page.PageContents[0].Version
                        },
                    }
                };
                var response = command.Execute(request);

                Assert.IsTrue(response);

                session.Flush();
                session.Clear();

                var updatedPage = command.Repository.AsQueryable <PageContent>(f => f.Page.Id == page.Id).ToList();

                Assert.AreEqual(2, updatedPage.FirstOrDefault(f => f.Id == page.PageContents[0].Id).Order);
                Assert.AreEqual(1, updatedPage.FirstOrDefault(f => f.Id == page.PageContents[1].Id).Order);
                Assert.AreEqual(0, updatedPage.FirstOrDefault(f => f.Id == page.PageContents[2].Id).Order);
            });
        }
Пример #8
0
        public void Should_Insert_And_Retrieve_Content_Successfully()
        {
            var content = TestDataProvider.CreateNewContent();

            RunEntityMapTestsInTransaction(content);
        }
Пример #9
0
 void getData() => TestDataProvider.InitTestDataAsync();
Пример #10
0
        public void Should_Archive_Unarchive_Sitemap_Successfully()
        {
            var sitemap = TestDataProvider.CreateNewSitemap();

            sitemap.Nodes = new List <SitemapNode>
            {
                TestDataProvider.CreateNewSitemapNode(sitemap),
                TestDataProvider.CreateNewSitemapNode(sitemap),
                TestDataProvider.CreateNewSitemapNode(sitemap)
            };
            var rootNode = TestDataProvider.CreateNewSitemapNode(sitemap);

            foreach (var node in sitemap.Nodes)
            {
                node.ParentNode = rootNode;
            }
            sitemap.Nodes.Add(rootNode);

            Mock <IRepository> repositoryMock = new Mock <IRepository>();

            repositoryMock
            .Setup(f => f.AsQueryable <Sitemap>())
            .Returns(new[] { sitemap }.AsQueryable());

            var savedMaps = new List <SitemapArchive>();

            repositoryMock
            .Setup(f => f.Save(It.IsAny <SitemapArchive>()))
            .Callback <SitemapArchive>(savedMaps.Add);

            repositoryMock
            .Setup(f => f.AsQueryable <SitemapArchive>())
            .Returns(savedMaps.AsQueryable);

            Mock <ICmsConfiguration> cmsConfigurationMock = new Mock <ICmsConfiguration>();

            cmsConfigurationMock.Setup(f => f.EnableMacros).Returns(false);

            var service = new DefaultSitemapService(repositoryMock.Object, null, cmsConfigurationMock.Object, null);

            service.ArchiveSitemap(sitemap.Id);

            Assert.AreEqual(savedMaps.Count, 1);
            Assert.AreEqual(savedMaps[0].Sitemap.Id, sitemap.Id);
            Assert.IsNotEmpty(savedMaps[0].ArchivedVersion);

            var unarchivedSitemap = service.GetArchivedSitemapVersionForPreview(savedMaps[0].Id);

            Assert.IsNotNull(unarchivedSitemap);
            Assert.AreEqual(sitemap.Nodes.Count, unarchivedSitemap.Nodes.Count);

            unarchivedSitemap.Nodes = unarchivedSitemap.Nodes.OrderBy(node => node.Title).ToList();
            sitemap.Nodes           = sitemap.Nodes.OrderBy(node => node.Title).ToList();

            for (var i = 0; i < sitemap.Nodes.Count; i++)
            {
                var orig       = sitemap.Nodes[i];
                var unarchived = unarchivedSitemap.Nodes[i];

                Assert.AreEqual(orig.Title, unarchived.Title);
                Assert.AreEqual(orig.Url, unarchived.Url);
                Assert.AreEqual(orig.UrlHash, unarchived.UrlHash);
            }
        }
Пример #11
0
 protected override SaveImageModel GetCreateModel(ISession session)
 {
     return(new SaveImageModel
     {
         Caption = TestDataProvider.ProvideRandomString(MaxLength.Name),
         Description = TestDataProvider.ProvideRandomString(MaxLength.Text),
         FileSize = TestDataProvider.ProvideRandomNumber(0, 10000),
         FileUri = "file:///C:/tmp.jpg",
         FolderId = null,
         Height = TestDataProvider.ProvideRandomNumber(1, 1000),
         ImageUrl = string.Format("{0}/{1}", TestDataProvider.ProvideRandomString(MaxLength.Name), TestDataProvider.ProvideRandomString(MaxLength.Name)),
         IsArchived = true,
         IsCanceled = TestDataProvider.ProvideRandomBooleanValue(),
         IsTemporary = TestDataProvider.ProvideRandomBooleanValue(),
         IsUploaded = TestDataProvider.ProvideRandomBooleanValue(),
         OriginalFileExtension = TestDataProvider.ProvideRandomString(MaxLength.Name),
         OriginalFileName = TestDataProvider.ProvideRandomString(MaxLength.Name),
         OriginalHeight = TestDataProvider.ProvideRandomNumber(1, 1000),
         OriginalSize = TestDataProvider.ProvideRandomNumber(0, 10000),
         OriginalUri = "file:///C:/tmp_orig.jpg",
         OriginalUrl = TestDataProvider.ProvideRandomString(MaxLength.Url),
         OriginalWidth = TestDataProvider.ProvideRandomNumber(1, 1000),
         PublishedOn = TestDataProvider.ProvideRandomDateTime(),
         Tags = new[] { TestDataProvider.ProvideRandomString(MaxLength.Name), TestDataProvider.ProvideRandomString(MaxLength.Name) },
         ThumbnailHeight = TestDataProvider.ProvideRandomNumber(1, 100),
         ThumbnailSize = TestDataProvider.ProvideRandomNumber(1, 100),
         ThumbnailUri = "file:///C:/tmp_thumbnail.jpg",
         ThumbnailUrl = TestDataProvider.ProvideRandomString(MaxLength.Url),
         ThumbnailWidth = TestDataProvider.ProvideRandomNumber(1, 100),
         Title = TestDataProvider.ProvideRandomString(MaxLength.Name),
         Version = 0,
         Width = TestDataProvider.ProvideRandomNumber(1, 1000),
         Categories = new List <Guid>()
         {
             category.Id
         }
     });
 }
Пример #12
0
 public ComposeNewEmail()
 {
     TestDataProvider.FetchFromXmlReader();
 }
Пример #13
0
        private static IEnumerable <object[]> GetMapPreviewIconsMapFolders()
        {
            yield return(new[] { TestDataProvider.GetPath(@"MapFiles\TestIcons1") });

            yield return(new[] { TestDataProvider.GetPath(@"MapFiles\TestIcons2") });
        }
Пример #14
0
        public void Should_Create_New_Page_With_Access_Rules()
        {
            RunActionInTransaction(
                session =>
            {
                var tempLayout = TestDataProvider.CreateNewLayout();
                session.SaveOrUpdate(tempLayout);
                session.Flush();

                var uow        = new DefaultUnitOfWork(session);
                var repository = new DefaultRepository(uow);
                var configMock = new Mock <ICmsConfiguration>();
                configMock.SetupAllProperties().Setup(f => f.Security.AccessControlEnabled).Returns(true);
                configMock.Setup(f => f.Security.DefaultAccessRules).Returns(new AccessControlCollection
                {
                    DefaultAccessLevel = "readwrite"
                });
                var config = configMock.Object;

                var command = new CreatePageCommand(
                    new Mock <IPageService>().SetupAllProperties().Object,
                    new DefaultUrlService(uow, config),
                    config,
                    new DefaultAccessControlService(Container.Resolve <ISecurityService>(), new HttpRuntimeCacheService(), config),
                    new Mock <IOptionService>().SetupAllProperties().Object);

                command.UnitOfWork = uow;
                command.Repository = repository;

                var request = new AddNewPageViewModel();
                request.AccessControlEnabled = true;
                request.PageTitle            = "TestCreatePageCommand";
                request.PageUrl    = "/test-CreatePageCommand/";
                request.TemplateId = tempLayout.Id;

                request.UserAccessList = new List <UserAccessViewModel>(
                    new[]
                {
                    new UserAccessViewModel
                    {
                        Identity    = "test 1",
                        AccessLevel = AccessLevel.ReadWrite
                    },

                    new UserAccessViewModel
                    {
                        Identity    = "test 2",
                        AccessLevel = AccessLevel.Deny
                    }
                });

                var response = command.Execute(request);
                session.Clear();

                Assert.IsNotNull(response);

                var page = session.Query <Page>().FirstOrDefault(f => f.Id == response.PageId);
                Assert.IsNotNull(page);
                Assert.IsNotNull(page.AccessRules);
                Assert.AreEqual(2, page.AccessRules.Count());
            });
        }
Пример #15
0
        public void Should_Insert_And_Retrieve_MediaImage_Successfully()
        {
            var entity = TestDataProvider.CreateNewMediaImage();

            RunEntityMapTestsInTransaction(entity);
        }
Пример #16
0
 public WhenReadingOnOffSwitch(ITestOutputHelper testOutputHelper)
 {
     _dataProvider = new TestDataProvider();
     _testSensor   = new OnOffSwitch(SensorId, new TestLogger(testOutputHelper), _dataProvider, new DataSourceFactory());
 }
Пример #17
0
        public void Should_Swap_Original_And_Reuploaded_Entities_Correctly()
        {
            var original   = TestDataProvider.CreateNewMediaFile();
            var newVersion = TestDataProvider.CreateNewMediaFile();

            var origTitle       = original.Title;
            var newVersionTitle = newVersion.Title;

            var cat11 = TestDataProvider.CreateNewCategory(new CategoryTree());
            var cat12 = TestDataProvider.CreateNewCategory(new CategoryTree());
            var cat21 = TestDataProvider.CreateNewCategory(new CategoryTree());

            var mcCat11 = new MediaCategory {
                Category = cat11, Media = original
            };
            var mcCat12 = new MediaCategory {
                Category = cat12, Media = original
            };
            var mcCat21 = new MediaCategory {
                Category = cat21, Media = newVersion
            };

            var tag11 = TestDataProvider.CreateNewTag();
            var tag12 = TestDataProvider.CreateNewTag();
            var tag21 = TestDataProvider.CreateNewTag();

            var mtTag11 = new MediaTag {
                Tag = tag11, Media = newVersion
            };
            var mtTag12 = new MediaTag {
                Tag = tag12, Media = newVersion
            };
            var mtTag21 = new MediaTag {
                Tag = tag21, Media = original
            };

            original.Categories   = new List <MediaCategory>();
            newVersion.Categories = new List <MediaCategory>();
            original.MediaTags    = new List <MediaTag>();
            newVersion.MediaTags  = new List <MediaTag>();

            original.Categories.Add(mcCat11);
            original.Categories.Add(mcCat12);
            newVersion.Categories.Add(mcCat21);

            newVersion.MediaTags.Add(mtTag11);
            newVersion.MediaTags.Add(mtTag12);
            original.MediaTags.Add(mtTag21);

            var service = GetMediaFileService(false);

            service.SwapOriginalMediaWithVersion(original, newVersion);

            // Ensure etity properies are switched
            Assert.AreNotEqual(original.Title, newVersion.Title);
            Assert.AreEqual(origTitle, newVersion.Title);
            Assert.AreEqual(newVersionTitle, original.Title);

            // Ensure original entity is set correctly
            Assert.AreEqual(newVersion.Original, original);

            // Ensure categories are switched correctly
            Assert.AreEqual(original.Categories.Count, 1);
            Assert.AreEqual(newVersion.Categories.Count, 2);

            Assert.IsTrue(newVersion.Categories.Contains(mcCat11));
            Assert.IsTrue(newVersion.Categories.Contains(mcCat12));
            Assert.IsTrue(original.Categories.Contains(mcCat21));

            // Ensure tags are switched correctly
            Assert.AreEqual(original.MediaTags.Count, 2);
            Assert.AreEqual(newVersion.MediaTags.Count, 1);

            Assert.IsTrue(original.MediaTags.Contains(mtTag11));
            Assert.IsTrue(original.MediaTags.Contains(mtTag12));
            Assert.IsTrue(newVersion.MediaTags.Contains(mtTag21));
        }
Пример #18
0
        public void Should_Insert_And_Retrieve_HtmlContent()
        {
            var htmlContent = TestDataProvider.CreateNewHtmlContent(200);

            RunEntityMapTestsInTransaction(htmlContent);
        }
Пример #19
0
        protected override SaveHtmlContentModel GetCreateModel(ISession session)
        {
            var widget = TestDataProvider.CreateNewHtmlContentWidget();

            session.SaveOrUpdate(widget);

            var content = TestDataProvider.CreateNewHtmlContent();

            var assignmentId1 = Guid.NewGuid();
            var assignmentId2 = Guid.NewGuid();

            content.Html = string.Format("{0}{1}{3}{2}",
                                         TestDataProvider.ProvideRandomString(50),
                                         TestDataProvider.CreateChildWidgetAssignment(widget.Id, assignmentId1),
                                         TestDataProvider.ProvideRandomString(50),
                                         TestDataProvider.CreateChildWidgetAssignment(widget.Id, assignmentId2));

            var    html         = content.Html;
            string originalText = "Just a test";

            if (contentTextMode == ContentTextMode.Markdown)
            {
                html         = null;
                originalText = MarkdownOriginalText;
            }

            if (contentTextMode == ContentTextMode.SimpleText)
            {
                html         = null;
                originalText = SimpleOriginalText;
            }

            return(new SaveHtmlContentModel
            {
                Name = content.Name,
                ActivationDate = content.ActivationDate,
                ExpirationDate = content.ExpirationDate,
                Html = html,
                OriginalText = originalText,
                ContentTextMode = contentTextMode,
                CustomCss = content.CustomCss,
                UseCustomCss = true,
                CustomJavaScript = content.CustomJs,
                UseCustomJavaScript = true,
                IsPublished = true,
                PublishedOn = content.PublishedOn,
                PublishedByUser = content.PublishedByUser,
                ChildContentsOptionValues = new List <ChildContentOptionValuesModel>
                {
                    new ChildContentOptionValuesModel
                    {
                        AssignmentIdentifier = assignmentId1,
                        OptionValues = new List <OptionValueModel>
                        {
                            new OptionValueModel
                            {
                                Key = "O1",
                                Value = "V1",
                                UseDefaultValue = false,
                                Type = OptionType.Text
                            }
                        }
                    },
                    new ChildContentOptionValuesModel
                    {
                        AssignmentIdentifier = assignmentId2,
                        OptionValues = new List <OptionValueModel>
                        {
                            new OptionValueModel
                            {
                                Key = "O2",
                                Value = Guid.NewGuid().ToString(),
                                UseDefaultValue = false,
                                Type = OptionType.Custom,
                                CustomTypeIdentifier = "media-images-folder"
                            },
                            new OptionValueModel
                            {
                                Key = "O3",
                                Value = Guid.NewGuid().ToString(),
                                UseDefaultValue = true,
                                Type = OptionType.Text
                            }
                        }
                    }
                }
            });
        }
Пример #20
0
        public void Should_Insert_And_Retrive_Role_Successfully()
        {
            var role = TestDataProvider.CreateNewRole();

            RunEntityMapTestsInTransaction(role);
        }
Пример #21
0
        public void Should_Save_Page_Content_Options_Successfully()
        {
            RunActionInTransaction(session =>
            {
                // Create page content with options
                var content     = TestDataProvider.CreateNewContent();
                var pageContent = TestDataProvider.CreateNewPageContent(content);
                FillContentWithOptions(content);
                FillPageContentWithOptions(content, pageContent);

                session.SaveOrUpdate(pageContent);
                session.Flush();
                session.Clear();

                // Random option value
                var randomOptionValue = TestDataProvider.CreateNewPageContentOption();

                // Create request
                var request = new PageContentOptionsViewModel
                {
                    WidgetOptions = new List <PageContentOptionViewModel>
                    {
                        new PageContentOptionViewModel
                        {
                            // Will be deleted because of default value
                            OptionValue        = content.ContentOptions[0].DefaultValue,
                            OptionKey          = pageContent.Options[0].Key,
                            OptionDefaultValue = content.ContentOptions[0].DefaultValue
                        },
                        new PageContentOptionViewModel
                        {
                            // Will be deleted because of null value
                            OptionValue = null,
                            OptionKey   = pageContent.Options[1].Key
                        },
                        new PageContentOptionViewModel
                        {
                            OptionValue = pageContent.Options[2].Value,
                            OptionKey   = pageContent.Options[2].Key
                        },
                        new PageContentOptionViewModel
                        {
                            // Random value
                            OptionValue = randomOptionValue.Value,
                            OptionKey   = randomOptionValue.Key
                        }
                    },
                    PageContentId = pageContent.Id
                };

                // Create command
                var unitOfWork     = new DefaultUnitOfWork(session);
                var repository     = new DefaultRepository(unitOfWork);
                var command        = new SavePageContentOptionsCommand();
                command.UnitOfWork = unitOfWork;
                command.Repository = repository;
                var result         = command.Execute(request);

                Assert.IsTrue(result);

                // Check results: one of page content values must be deleted after save
                var results = repository
                              .AsQueryable <PageContentOption>(pco => pco.PageContent.Id == pageContent.Id &&
                                                               !pco.IsDeleted &&
                                                               !pco.PageContent.IsDeleted)
                              .ToList();
                Assert.AreEqual(results.Count, 2);
                Assert.IsNotNull(results.FirstOrDefault(pco => pco.Key == pageContent.Options[2].Key &&
                                                        pco.Value == pageContent.Options[2].Value));
                Assert.IsNotNull(results.FirstOrDefault(pco => pco.Key == randomOptionValue.Key &&
                                                        pco.Value == randomOptionValue.Value));
            });
        }
Пример #22
0
        public void PublishBasicCTestResults()
        {
            SetupMocks();
            string cTestResultsToBeRead = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                                          + "<Site BuildName=\"(empty)\" BuildStamp=\"20180515-1731-Experimental\" Name=\"(empty)\" Generator=\"ctest-3.11.0\" "
                                          + "CompilerName=\"\" CompilerVersion=\"\" OSName=\"Linux\" Hostname=\"3tnavBuild\" OSRelease=\"4.4.0-116-generic\" "
                                          + "OSVersion=\"#140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018\" OSPlatform=\"x86_64\" Is64Bits=\"1\">"
                                          + "<Testing>"
                                          + "<StartDateTime>May 15 10:31 PDT</StartDateTime>"
                                          + "<StartTestTime>1526405497</StartTestTime>"
                                          + "<TestList>"
                                          + "<Test>./libs/MgmtVisualization/tests/LoggingSinkRandomTests.loggingSinkRandomTest_CallLoggingManagerCallback</Test>"
                                          + "<Test>./tools/simulator/test/simulator.SimulatorTest.readEventFile_mediaDetectedEvent_oneSignalEmitted</Test>"
                                          + "</TestList>"
                                          + "<Test Status =\"passed\">"
                                          + "<Name>LoggingSinkRandomTests.loggingSinkRandomTest_CallLoggingManagerCallback</Name>"
                                          + "<Path>./libs/MgmtVisualization/tests</Path>"
                                          + "<FullName>./libs/MgmtVisualization/tests/LoggingSinkRandomTests.loggingSinkRandomTest_CallLoggingManagerCallback</FullName>"
                                          + "<FullCommandLine>D:/a/r1/a/libs/MgmtVisualization/tests/MgmtVisualizationResultsAPI \"--gtest_filter=LoggingSinkRandomTests.loggingSinkRandomTest_CallLoggingManagerCallback\"</FullCommandLine>"
                                          + "<Results>"
                                          + "<NamedMeasurement type =\"numeric/double\" name=\"Execution Time\">"
                                          + "<Value>0.074303</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type =\"numeric/double\" name=\"Processors\">"
                                          + "<Value>1</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type =\"text/string\" name=\"Completion Status\">"
                                          + "<Value>Completed</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type =\"text/string\" name=\"Command Line\">"
                                          + "<Value>/home/ctc/jenkins/workspace/build_TNAV-dev_Pull-Request/build/libs/MgmtVisualization/tests/MgmtVisualizationTestPublicAPI \"--gtest_filter=loggingSinkRandomTests.loggingSinkRandomTest_CallLoggingCallback\"</Value>"
                                          + "</NamedMeasurement>"
                                          + "<Measurement>"
                                          + "<Value>output : [----------] Global test environment set-up.</Value>"
                                          + "</Measurement>"
                                          + "</Results>"
                                          + "</Test>"
                                          + "<Test Status =\"notrun\">"
                                          + "<Name>simulator.SimulatorTest.readEventFile_mediaDetectedEvent_oneSignalEmitted</Name>"
                                          + "<Path>./tools/simulator/test</Path>"
                                          + "<FullName>./tools/simulator/test/simulator.SimulatorTest.readEventFile_mediaDetectedEvent_oneSignalEmitted</FullName>"
                                          + "<FullCommandLine></FullCommandLine>"
                                          + "<Results>"
                                          + "<NamedMeasurement type =\"numeric/double\" name=\"Processors\">"
                                          + "<Value>1</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type =\"text/string\" name=\"Completion Status\">"
                                          + "<Value>Disabled</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type =\"text/string\" name=\"Command Line\">"
                                          + "<Value></Value>"
                                          + "</NamedMeasurement>"
                                          + "<Measurement>"
                                          + "<Value>Disabled</Value>"
                                          + "</Measurement>"
                                          + "</Results>"
                                          + "</Test>"
                                          + "<Test Status=\"passed\">"
                                          + "<Name>test_cgreen_run_named_test</Name>"
                                          + "<Path>./tests</Path>"
                                          + "<FullName>./tests/test_cgreen_run_named_test</FullName>"
                                          + "<FullCommandLine>/var/lib/jenkins/workspace/Cgreen-thoni56/build/build-c/tests/test_cgreen_c &quot;integer_one_should_assert_true&quot;</FullCommandLine>"
                                          + "<Results>"
                                          + "<NamedMeasurement type=\"numeric/double\" name=\"Execution Time\"><Value>0.00615707</Value></NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Completion Status\"><Value>Completed</Value></NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Command Line\"><Value>/var/lib/jenkins/workspace/Cgreen-thoni56/build/build-c/tests/test_cgreen_c &quot;integer_one_should_assert_true&quot;</Value></NamedMeasurement>"
                                          + "<Measurement>"
                                          + "<Value>Running &quot;all_c_tests&quot; (136 tests)..."
                                          + "Completed &quot;assertion_tests&quot;: 1 pass, 0 failures, 0 exceptions in 0ms."
                                          + "Completed &quot;all_c_tests&quot;: 1 pass, 0 failures, 0 exceptions in 0ms."
                                          + "</Value>"
                                          + "</Measurement>"
                                          + "</Results>"
                                          + "</Test>"
                                          + "<Test Status=\"passed\">"
                                          + "<Name>runner_test_cgreen_c</Name>"
                                          + "<Path>./tests</Path>"
                                          + "<FullName>./tests/runner_test_cgreen_c</FullName>"
                                          + "<FullCommandLine>D:/a/r1/a/Cgreen-thoni56/build/build-c/tools/cgreen-runner &quot;-x&quot; &quot;TEST&quot; &quot;libcgreen_c_tests.so&quot;</FullCommandLine>"
                                          + "<Results>"
                                          + "<NamedMeasurement type=\"numeric/double\" name=\"Execution Time\"><Value>0.499399</Value></NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Completion Status\"><Value>Completed</Value></NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Command Line\"><Value>/var/lib/jenkins/workspace/Cgreen-thoni56/build/build-c/tools/cgreen-runner &quot;-x&quot; &quot;TEST&quot; &quot;libcgreen_c_tests.so&quot;</Value></NamedMeasurement>"
                                          + "<Measurement>"
                                          + "<Value>	CGREEN EXCEPTION: Too many assertions within a single test."
                                          + "</Value>"
                                          + "</Measurement>"
                                          + "</Results>"
                                          + "</Test>"
                                          + "<Test Status=\"failed\">"
                                          + "<Name>WGET-testU-MD5-fail</Name>"
                                          + "<Path>E_/foo/sources</Path>"
                                          + "<FullName>E_/foo/sources/WGET-testU-MD5-fail</FullName>"
                                          + "<FullCommandLine>E:\\Tools\\cmake\\cmake-2.8.11-rc4-win32-x86\\bin\\cmake.exe &quot;-DTEST_OUTPUT_DIR:PATH=E:/foo/build-vs2008-visual/_cmake/modules/testU_WGET&quot;"
                                          + "&quot;-P&quot; &quot;E:/foo/sources/modules/testU/WGET-testU-MD5-fail.cmake&quot;</FullCommandLine>"
                                          + "<Results>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Exit Code\">"
                                          + "<Value>Failed</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Exit Value\">"
                                          + "<Value>0</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type=\"numeric/double\" name=\"Execution Time\">"
                                          + "<Value>0.0760078</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Completion Status\">"
                                          + "<Value>Completed</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Command Line\">"
                                          + "<Value>E:\\Tools\\cmake\\cmake-2.8.11-rc4-win32-x86\\bin\\cmake.exe &quot;-DTEST_OUTPUT_DIR:PATH=E:/foo/build-vs2008-visual/_cmake/modules/testU_WGET&quot;"
                                          + "&quot;-P&quot; &quot;E:/foo/sources/modules/testU/WGET-testU-MD5-fail.cmake&quot;</Value>"
                                          + "</NamedMeasurement>"
                                          + "<Measurement>"
                                          + "<Value>-- Download of file://\\abc-mang.md5.txt"
                                          + "failed with message: [37]&quot;couldn&apos;t read a file:// file&quot;"
                                          + "</Value>"
                                          + "</Measurement>"
                                          + "</Results>"
                                          + "</Test>"
                                          + "<Test Status=\"failed\">"
                                          + "<Name>WGET-testU-noMD5</Name>"
                                          + "<Path>E_/foo/sources</Path>"
                                          + "<FullName>E_/foo/sources/WGET-testU-noMD5</FullName>"
                                          + "<FullCommandLine>E:\\Tools\\cmake\\cmake-2.8.11-rc4-win32-x86\\bin\\cmake.exe &quot;-DTEST_OUTPUT_DIR:PATH=E:/foo/build-vs2008-visual/_cmake/modules/testU_WGET&quot;"
                                          + "&quot;-P&quot; &quot;E:/foo/sources/modules/testU/WGET-testU-noMD5.cmake&quot;</FullCommandLine>"
                                          + "<Results>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Exit Code\">"
                                          + "<Value>Failed</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Exit Value\">"
                                          + "<Value>1</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type=\"numeric/double\" name=\"Execution Time\">"
                                          + "<Value>0.0820084</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Completion Status\">"
                                          + "<Value>Completed</Value>"
                                          + "</NamedMeasurement>"
                                          + "<NamedMeasurement type=\"text/string\" name=\"Command Line\">"
                                          + "<Value>E:\\Tools\\cmake\\cmake-2.8.11-rc4-win32-x86\\bin\\cmake.exe &quot;-DTEST_OUTPUT_DIR:PATH=E:/foo/build-vs2008-visual/_cmake/modules/testU_WGET&quot;"
                                          + "&quot;-P&quot; &quot;E:/foo/sources/modules/testU/WGET-testU-noMD5.cmake&quot;</Value>"
                                          + "</NamedMeasurement>"
                                          + "<Measurement>"
                                          + "<Value>-- Download of file://\\abc-mang.md5.txt"
                                          + "failed with message: [37]&quot;couldn&apos;t read a file:// file&quot;"
                                          + "CMake Error at modules/Logging.cmake:121 (message):"
                                          + ""
                                          + ""
                                          + "test BAR_wget_file succeed: result is &quot;OFF&quot; instead of &quot;ON&quot;"
                                          + ""
                                          + "Call Stack (most recent call first):"
                                          + "modules/Test.cmake:74 (BAR_msg_fatal)"
                                          + "modules/testU/WGET-testU-noMD5.cmake:14 (BAR_check_equal)"
                                          + ""
                                          + ""
                                          + "</Value>"
                                          + "</Measurement>"
                                          + "</Results>"
                                          + "</Test>"
                                          + "<EndDateTime>May 15 10:37 PDT</EndDateTime>"
                                          + "<EndTestTime>1526405879</EndTestTime>"
                                          + "<ElapsedMinutes>6</ElapsedMinutes>"
                                          + "</Testing>"
                                          + "</Site>";

            _resultFile = "xunitresults.xml";
            File.WriteAllText(_resultFile, cTestResultsToBeRead);
            CTestParser      reader          = new CTestParser();
            TestRunContext   runContext      = new TestRunContext();
            TestDataProvider runDataProvider = reader.ParseTestResultFiles(_ec.Object, runContext, new List <string> {
                _resultFile
            });
            List <TestRunData> runData = runDataProvider.GetTestRunData();

            Assert.NotNull(runData[0].TestResults);
            Assert.Equal(6, runData[0].TestResults.Count);
            Assert.Equal(3, runData[0].TestResults.Count(r => r.Outcome.Equals("Passed")));
            Assert.Equal(2, runData[0].TestResults.Count(r => r.Outcome.Equals("Failed")));
            Assert.Equal(1, runData[0].TestResults.Count(r => r.Outcome.Equals("NotExecuted")));
            Assert.Equal("CTest Test Run  ", runData[0].RunCreateModel.Name);
            Assert.Equal("Completed", runData[0].TestResults[0].State);
            Assert.Equal("./libs/MgmtVisualization/tests/LoggingSinkRandomTests.loggingSinkRandomTest_CallLoggingManagerCallback", runData[0].TestResults[0].AutomatedTestName);
            Assert.Equal("./libs/MgmtVisualization/tests", runData[0].TestResults[0].AutomatedTestStorage);
            Assert.Equal("LoggingSinkRandomTests.loggingSinkRandomTest_CallLoggingManagerCallback", runData[0].TestResults[0].TestCaseTitle);
            Assert.Equal(null, runData[0].TestResults[0].AutomatedTestId);
            Assert.Equal(null, runData[0].TestResults[0].AutomatedTestTypeId);
        }
Пример #23
0
        public void Should_Sort_Page_Content_Successfully()
        {
            RunActionInTransaction(session =>
            {
                var layout = TestDataProvider.CreateNewLayout();
                var region = TestDataProvider.CreateNewRegion();

                layout.LayoutRegions = new List <LayoutRegion>
                {
                    TestDataProvider.CreateNewLayoutRegion(layout, region),
                };

                var page          = TestDataProvider.CreateNewPageProperties(layout);
                page.PageContents = new[]
                {
                    TestDataProvider.CreateNewPageContent(TestDataProvider.CreateNewHtmlContent(), page, region),
                    TestDataProvider.CreateNewPageContent(TestDataProvider.CreateNewHtmlContent(), page, region),
                    TestDataProvider.CreateNewPageContent(TestDataProvider.CreateNewHtmlContent(), page, region)
                };

                session.SaveOrUpdate(page);
                session.Flush();
                session.Clear();

                IUnitOfWork unitOfWork = new DefaultUnitOfWork(session);

                SortPageContentCommand command = new SortPageContentCommand();
                command.UnitOfWork             = unitOfWork;
                command.Repository             = new DefaultRepository(unitOfWork);

                var request = new PageContentSortViewModel
                {
                    PageId       = page.Id,
                    RegionId     = region.Id,
                    PageContents =
                        new List <ContentSortViewModel>
                    {
                        new ContentSortViewModel {
                            Id = page.PageContents[2].Id, Version = page.PageContents[2].Version
                        },
                        new ContentSortViewModel {
                            Id = page.PageContents[1].Id, Version = page.PageContents[1].Version
                        },
                        new ContentSortViewModel {
                            Id = page.PageContents[0].Id, Version = page.PageContents[0].Version
                        },
                    }
                };
                var response = command.Execute(request);

                Assert.AreEqual(2, response.UpdatedPageContents.Count);

                session.Flush();
                session.Clear();

                var updatedPage = command.Repository.AsQueryable <PageContent>(f => f.Page.Id == page.Id).ToList();

                Assert.AreEqual(2, updatedPage.FirstOrDefault(f => f.Id == page.PageContents[0].Id).Order);
                Assert.AreEqual(1, updatedPage.FirstOrDefault(f => f.Id == page.PageContents[1].Id).Order);
                Assert.AreEqual(0, updatedPage.FirstOrDefault(f => f.Id == page.PageContents[2].Id).Order);
            });
        }
        protected override SaveHtmlContentWidgetModel GetCreateModel(ISession session)
        {
            var categoryTree = TestDataProvider.CreateNewCategoryTree();

            category = TestDataProvider.CreateNewCategory(categoryTree);
            categoryTree.AvailableFor = new List <CategoryTreeCategorizableItem>
            {
                new CategoryTreeCategorizableItem
                {
                    // See Migration201502101136.cs
                    CategorizableItem = session.Load <CategorizableItem>(new Guid("B2F05159-74AF-4B67-AEB9-36B9CC9EED57")),
                    CategoryTree      = categoryTree
                }
            };
            session.SaveOrUpdate(categoryTree);
            session.SaveOrUpdate(category);
            session.Flush();

            var widget = TestDataProvider.CreateNewHtmlContentWidget();

            session.SaveOrUpdate(widget);

            var content = TestDataProvider.CreateNewHtmlContentWidget();

            var language1 = TestDataProvider.CreateNewLanguage();

            session.SaveOrUpdate(language1);

            var language2 = TestDataProvider.CreateNewLanguage();

            session.SaveOrUpdate(language2);

            var assignmentId1 = Guid.NewGuid();
            var assignmentId2 = Guid.NewGuid();

            content.Html = string.Format("{0}{1}{3}{2}",
                                         TestDataProvider.ProvideRandomString(50),
                                         TestDataProvider.CreateChildWidgetAssignment(widget.Id, assignmentId1),
                                         TestDataProvider.ProvideRandomString(50),
                                         TestDataProvider.CreateChildWidgetAssignment(widget.Id, assignmentId2));

            session.SaveOrUpdate(content);
            session.Flush();
            return(new SaveHtmlContentWidgetModel
            {
                Name = TestDataProvider.ProvideRandomString(MaxLength.Name),
                IsPublished = true,
                PublishedOn = content.PublishedOn,
                PublishedByUser = content.PublishedByUser,
                Categories = new List <Guid>()
                {
                    category.Id
                },
                CustomCss = content.CustomCss,
                UseCustomCss = true,
                Html = content.Html,
                UseHtml = true,
                CustomJavaScript = content.CustomJs,
                UseCustomJavaScript = true,
                Options = new List <OptionModel>
                {
                    new OptionModel
                    {
                        DefaultValue = "1",
                        Key = "K1",
                        Type = OptionType.Text,
                        Translations = new List <OptionTranslationModel>
                        {
                            new OptionTranslationModel
                            {
                                LanguageId = language1.Id.ToString(),
                                Value = "translated_lang1"
                            },
                            new OptionTranslationModel
                            {
                                LanguageId = language2.Id.ToString(),
                                Value = "translated_lang2"
                            }
                        }
                    },

                    new OptionModel
                    {
                        DefaultValue = Guid.NewGuid().ToString(),
                        Key = "K2",
                        Type = OptionType.Custom,
                        CustomTypeIdentifier = MediaManagerFolderOptionProvider.Identifier
                    }
                },
                ChildContentsOptionValues = new List <MultilingualChildContentOptionValuesModel>
                {
                    new MultilingualChildContentOptionValuesModel
                    {
                        AssignmentIdentifier = assignmentId1,
                        MultilingualOptionValues = new List <MultilingualOptionValueModel>
                        {
                            new MultilingualOptionValueModel
                            {
                                Key = "O1",
                                Value = "V1",
                                UseDefaultValue = false,
                                Type = OptionType.Text,
                                Translations = new List <OptionTranslationModel>
                                {
                                    new OptionTranslationModel
                                    {
                                        LanguageId = language1.Id.ToString(),
                                        Value = "V1_translated_lang1"
                                    },
                                    new OptionTranslationModel
                                    {
                                        LanguageId = language2.Id.ToString(),
                                        Value = "V1_translated_lang2"
                                    }
                                }
                            }
                        }
                    },
                    new MultilingualChildContentOptionValuesModel
                    {
                        AssignmentIdentifier = assignmentId2,
                        MultilingualOptionValues = new List <MultilingualOptionValueModel>
                        {
                            new MultilingualOptionValueModel
                            {
                                Key = "O2",
                                Value = Guid.NewGuid().ToString(),
                                UseDefaultValue = false,
                                Type = OptionType.Custom,
                                CustomTypeIdentifier = "media-images-folder"
                            },
                            new MultilingualOptionValueModel
                            {
                                Key = "O3",
                                Value = Guid.NewGuid().ToString(),
                                UseDefaultValue = true,
                                Type = OptionType.Text
                            }
                        }
                    }
                }
            });
        }
Пример #25
0
 private static IEnumerable <object[]> GetTestData()
 {
     return(TestDataProvider.GetDynamicData("*", SearchOption.TopDirectoryOnly, "Maps"));
 }
Пример #26
0
 public void Should_Insert_And_Retrieve_Category_Successfully()
 {
     RunEntityMapTestsInTransaction(TestDataProvider.CreateNewCategory());
 }
Пример #27
0
 public void AddDummyItemsToBasket(int itemCount)
 {
     _dbContext.EnsureCatalogItemsExist(TestDataProvider.GetDummyCatalogItems(itemCount));
     TestDataProvider.GetDummyCatalogItemViewModels(itemCount).ForEach(item => _webContext.AddToBasket(item));
 }
Пример #28
0
 public WhenUpdatingDataSource(ITestOutputHelper testOutputHelper)
 {
     _dataProvider = new TestDataProvider();
     _dataSource   = new DataSource(DataSourceId, new TestLogger(testOutputHelper), _dataProvider);
     _testDataUpdateEventHandler = new TestDataUpdateEventHandler(_dataSource);
 }
Пример #29
0
        public void Should_Insert_And_Retrieve_UserRoles_Successfully()
        {
            var entity = TestDataProvider.CreateNewUserRoles();

            RunEntityMapTestsInTransaction(entity);
        }
Пример #30
0
        public void Should_Call_FindUsersInRole_Successfully()
        {
            RunActionInTransaction(session =>
            {
                var fakeRoles         = CreateFakeRoles(session, 2);
                var fakeUsers         = CreateFakeUsers(session, new[] { fakeRoles[0] }, 3);
                var nonRoleUsers      = CreateFakeUsers(session, new[] { fakeRoles[1] }, 1);
                const string userName = "******";

                fakeUsers[0].UserName    = "******" + userName + "-" + TestDataProvider.ProvideRandomString(100);
                fakeUsers[2].UserName    = "******" + userName + "-" + TestDataProvider.ProvideRandomString(100);
                nonRoleUsers[0].UserName = "******" + userName + "-" + TestDataProvider.ProvideRandomString(100);
                session.SaveOrUpdate(fakeUsers[0]);
                session.SaveOrUpdate(fakeUsers[2]);
                session.SaveOrUpdate(nonRoleUsers[0]);
                session.Flush();
                session.Clear();

                var roleProvider = GetRoleProvider(session);
                var users        = roleProvider.FindUsersInRole(fakeRoles[0].Name, userName);

                Assert.IsNotNull(users);
                Assert.AreEqual(users.Length, 2);
                Assert.IsTrue(users.Contains(fakeUsers[0].UserName));
                Assert.IsTrue(users.Contains(fakeUsers[2].UserName));
            });
        }