Example #1
0
    public void To_Display_Model()
    {
        var contentType = _contentTypeBuilder
                          .WithId(0)
                          .AddPropertyGroup()
                          .WithId(1)
                          .AddPropertyType()
                          .Done()
                          .Done()
                          .AddPropertyGroup()
                          .WithId(2)
                          .AddPropertyType()
                          .Done()
                          .Done()
                          .AddPropertyGroup()
                          .WithId(3)
                          .AddPropertyType()
                          .Done()
                          .Done()
                          .AddPropertyGroup()
                          .WithId(4)
                          .AddPropertyType()
                          .Done()
                          .Done()
                          .Build();

        _contentTypeService.Save(contentType);

        var content = _contentBuilder
                      .WithContentType(contentType)
                      .WithCreatorId(Constants.Security.SuperUserId)
                      .Build();

        var result = _sut.Map <IContent, ContentItemDisplay>(content);

        AssertBasics(result, content);

        var invariantContent = result.Variants.First();

        foreach (var p in content.Properties)
        {
            AssertBasicProperty(invariantContent, p);
            AssertDisplayProperty(invariantContent, p);
        }

        Assert.AreEqual(4, invariantContent.Tabs.Count());
        Assert.IsTrue(invariantContent.Tabs.First().IsActive);
        Assert.IsTrue(invariantContent.Tabs.Except(new[] { invariantContent.Tabs.First() })
                      .All(x => x.IsActive == false));
    }
Example #2
0
 public static ContentType BuildSimpleContentType(this ContentTypeBuilder builder) =>
 (ContentType)builder
 .WithId(10)
 .WithAlias("textPage")
 .WithName("Text Page")
 .WithPropertyTypeIdsIncrementingFrom(200)
 .AddPropertyGroup()
 .WithName("Content")
 .WithSortOrder(1)
 .AddPropertyType()
 .WithAlias("title")
 .WithName("Title")
 .WithSortOrder(1)
 .Done()
 .AddPropertyType()
 .WithValueStorageType(ValueStorageType.Ntext)
 .WithAlias("bodyText")
 .WithName("Body text")
 .WithSortOrder(2)
 .WithDataTypeId(-87)
 .Done()
 .Done()
 .AddPropertyGroup()
 .WithName("Meta")
 .WithSortOrder(2)
 .AddPropertyType()
 .WithAlias("keywords")
 .WithName("Keywords")
 .WithSortOrder(1)
 .Done()
 .AddPropertyType()
 .WithAlias("description")
 .WithName("description")
 .WithSortOrder(1)
 .Done()
 .Done()
 .AddAllowedTemplate()
 .WithId(200)
 .WithAlias("textPage")
 .WithName("Text Page")
 .Done()
 .AddAllowedTemplate()
 .WithId(201)
 .WithAlias("textPage2")
 .WithName("Text Page 2")
 .Done()
 .WithDefaultTemplateId(200)
 .AddAllowedContentType()
 .WithId(888)
 .WithAlias("sub")
 .WithSortOrder(8)
 .Done()
 .AddAllowedContentType()
 .WithId(889)
 .WithAlias("sub2")
 .WithSortOrder(9)
 .Done()
 .Build();
    public void Is_Built_Correctly()
    {
        // Arrange
        const int    testId                = 99;
        var          testKey               = Guid.NewGuid();
        const string testAlias             = "mediaType";
        const string testName              = "Content Type";
        const string testPropertyGroupName = "Content";
        const int    testParentId          = 98;
        const int    testCreatorId         = 22;
        var          testCreateDate        = DateTime.Now.AddHours(-1);
        var          testUpdateDate        = DateTime.Now;
        const int    testLevel             = 3;
        const string testPath              = "-1, 4, 10";
        const int    testSortOrder         = 5;
        const string testDescription       = "The description";
        const string testIcon              = "icon";
        const string testThumbnail         = "thumnail";
        const bool   testTrashed           = true;
        const int    testPropertyTypeIdsIncrementingFrom = 200;
        var          testPropertyType1 =
            new PropertyTypeDetail {
            Alias = "title", Name = "Title", SortOrder = 1, DataTypeId = -88
        };
        var testPropertyType2 =
            new PropertyTypeDetail {
            Alias = "bodyText", Name = "Body Text", SortOrder = 2, DataTypeId = -87
        };
        var testTemplate1 = new TemplateDetail {
            Id = 200, Alias = "template1", Name = "Template 1"
        };
        var testTemplate2 = new TemplateDetail {
            Id = 201, Alias = "template2", Name = "Template 2"
        };
        var testAllowedContentType1 = new AllowedContentTypeDetail {
            Id = 300, Alias = "subType1", SortOrder = 1
        };
        var testAllowedContentType2 = new AllowedContentTypeDetail {
            Id = 301, Alias = "subType2", SortOrder = 2
        };

        var builder = new ContentTypeBuilder();

        // Act
        var contentType = builder
                          .WithId(testId)
                          .WithKey(testKey)
                          .WithAlias(testAlias)
                          .WithName(testName)
                          .WithCreatorId(testCreatorId)
                          .WithCreateDate(testCreateDate)
                          .WithUpdateDate(testUpdateDate)
                          .WithParentId(testParentId)
                          .WithLevel(testLevel)
                          .WithPath(testPath)
                          .WithSortOrder(testSortOrder)
                          .WithDescription(testDescription)
                          .WithIcon(testIcon)
                          .WithThumbnail(testThumbnail)
                          .WithTrashed(testTrashed)
                          .WithPropertyTypeIdsIncrementingFrom(200)
                          .AddPropertyGroup()
                          .WithName(testPropertyGroupName)
                          .WithSortOrder(1)
                          .AddPropertyType()
                          .WithAlias(testPropertyType1.Alias)
                          .WithName(testPropertyType1.Name)
                          .WithSortOrder(testPropertyType1.SortOrder)
                          .WithDataTypeId(testPropertyType1.DataTypeId)
                          .Done()
                          .AddPropertyType()
                          .WithValueStorageType(ValueStorageType.Ntext)
                          .WithAlias(testPropertyType2.Alias)
                          .WithName(testPropertyType2.Name)
                          .WithSortOrder(testPropertyType2.SortOrder)
                          .WithDataTypeId(testPropertyType2.DataTypeId)
                          .Done()
                          .Done()
                          .AddAllowedTemplate()
                          .WithId(testTemplate1.Id)
                          .WithAlias(testTemplate1.Alias)
                          .WithName(testTemplate1.Name)
                          .Done()
                          .AddAllowedTemplate()
                          .WithId(testTemplate2.Id)
                          .WithAlias(testTemplate2.Alias)
                          .WithName(testTemplate2.Name)
                          .Done()
                          .WithDefaultTemplateId(testTemplate1.Id)
                          .AddAllowedContentType()
                          .WithId(testAllowedContentType1.Id)
                          .WithAlias(testAllowedContentType1.Alias)
                          .WithSortOrder(testAllowedContentType1.SortOrder)
                          .Done()
                          .AddAllowedContentType()
                          .WithId(testAllowedContentType2.Id)
                          .WithAlias(testAllowedContentType2.Alias)
                          .WithSortOrder(testAllowedContentType2.SortOrder)
                          .Done()
                          .Build();

        // Assert
        Assert.AreEqual(testId, contentType.Id);
        Assert.AreEqual(testAlias, contentType.Alias);
        Assert.AreEqual(testName, contentType.Name);
        Assert.AreEqual(testKey, contentType.Key);
        Assert.AreEqual(testCreateDate, contentType.CreateDate);
        Assert.AreEqual(testUpdateDate, contentType.UpdateDate);
        Assert.AreEqual(testCreatorId, contentType.CreatorId);
        Assert.AreEqual(testParentId, contentType.ParentId);
        Assert.AreEqual(testLevel, contentType.Level);
        Assert.AreEqual(testPath, contentType.Path);
        Assert.AreEqual(testSortOrder, contentType.SortOrder);
        Assert.AreEqual(testDescription, contentType.Description);
        Assert.AreEqual(testIcon, contentType.Icon);
        Assert.AreEqual(testThumbnail, contentType.Thumbnail);
        Assert.AreEqual(testTrashed, contentType.Trashed);
        Assert.IsFalse(contentType.IsContainer);
        Assert.AreEqual(2, contentType.PropertyTypes.Count());

        var propertyTypeIds = contentType.PropertyTypes.Select(x => x.Id).OrderBy(x => x).ToArray();

        Assert.AreEqual(testPropertyTypeIdsIncrementingFrom + 1, propertyTypeIds.Min());
        Assert.AreEqual(testPropertyTypeIdsIncrementingFrom + 2, propertyTypeIds.Max());

        var allowedTemplates = contentType.AllowedTemplates.ToList();

        Assert.AreEqual(2, allowedTemplates.Count);
        Assert.AreEqual(testTemplate1.Id, allowedTemplates[0].Id);
        Assert.AreEqual(testTemplate1.Alias, allowedTemplates[0].Alias);
        Assert.AreEqual(testTemplate1.Name, allowedTemplates[0].Name);
        Assert.AreEqual(testTemplate1.Id, contentType.DefaultTemplate.Id);

        var allowedContentTypes = contentType.AllowedContentTypes.ToList();

        Assert.AreEqual(2, allowedContentTypes.Count);
        Assert.AreEqual(testAllowedContentType1.Id, allowedContentTypes[0].Id.Value);
        Assert.AreEqual(testAllowedContentType1.Alias, allowedContentTypes[0].Alias);
        Assert.AreEqual(testAllowedContentType1.SortOrder, allowedContentTypes[0].SortOrder);
    }