diff --git a/src/Web/Models/Media/GenericMedia.cs b/src/Web/Models/Media/GenericMedia.cs
index 01f8293..7d8e372 100644
--- a/src/Web/Models/Media/GenericMedia.cs
+++ b/src/Web/Models/Media/GenericMedia.cs
@@ -6,5 +6,5 @@ public class GenericMedia : MediaData
///
/// Gets or sets the description.
///
- public virtual String Description { get; set; }
+ public virtual string Description { get; set; } = null!;
}
\ No newline at end of file
diff --git a/src/Web/Models/Media/ImageFile.cs b/src/Web/Models/Media/ImageFile.cs
index 412f9b6..7f0b6aa 100644
--- a/src/Web/Models/Media/ImageFile.cs
+++ b/src/Web/Models/Media/ImageFile.cs
@@ -12,5 +12,5 @@ public class ImageFile : ImageData
///
/// The copyright.
///
- public virtual string Copyright { get; set; }
+ public virtual string Copyright { get; set; } = null!;
}
\ No newline at end of file
diff --git a/src/Web/Models/Media/VideoFile.cs b/src/Web/Models/Media/VideoFile.cs
index 60aedd4..fe3aac1 100644
--- a/src/Web/Models/Media/VideoFile.cs
+++ b/src/Web/Models/Media/VideoFile.cs
@@ -11,11 +11,11 @@ public class VideoFile : VideoData
///
/// Gets or sets the copyright.
///
- public virtual string Copyright { get; set; }
+ public virtual string Copyright { get; set; } = null!;
///
/// Gets or sets the URL to the preview image.
///
[UIHint(UIHint.Image)]
- public virtual ContentReference PreviewImage { get; set; }
+ public virtual ContentReference PreviewImage { get; set; } = null!;
}
\ No newline at end of file
diff --git a/src/Web/Models/Pages/NewsPage.cs b/src/Web/Models/Pages/NewsPage.cs
index 822084e..44f8fce 100644
--- a/src/Web/Models/Pages/NewsPage.cs
+++ b/src/Web/Models/Pages/NewsPage.cs
@@ -5,5 +5,5 @@
DisplayName = "News Page")]
public class NewsPage : PageData
{
- public virtual string Title { get; set; }
+ public virtual string Title { get; set; } = null!;
}
\ No newline at end of file
diff --git a/src/Web/Models/Pages/StartPage.cs b/src/Web/Models/Pages/StartPage.cs
index 33ed058..5b0137d 100644
--- a/src/Web/Models/Pages/StartPage.cs
+++ b/src/Web/Models/Pages/StartPage.cs
@@ -1,52 +1,17 @@
using System.ComponentModel.DataAnnotations;
namespace Optimizely.TestContainers.Models.Pages;
-//using AlloyTemplates.Models.Blocks;
///
/// Used for the site's start page and also acts as a container for site settings
///
[ContentType(
- GUID = "19671657-B684-4D95-A61F-8DD4FE60D559"
- /*GroupName = Global.GroupNames.Specialized*/)]
-//[SiteImageUrl]
-/*
-[AvailableContentTypes(
- Availability.Specific,
- Include = new[] { typeof(ContainerPage), typeof(ProductPage), typeof(StandardPage), typeof(ISearchPage), typeof(LandingPage), typeof(ContentFolder) }, // Pages we can create under the start page...
- ExcludeOn = new[] { typeof(ContainerPage), typeof(ProductPage), typeof(StandardPage), typeof(ISearchPage), typeof(LandingPage) })] // ...and underneath those we can't create additional start pages
-*/
+ GUID = "19671657-B684-4D95-A61F-8DD4FE60D559")]
public class StartPage : PageData
{
[Display(
GroupName = SystemTabNames.Content,
Order = 320)]
[CultureSpecific]
- public virtual ContentArea MainContentArea { get; set; }
-
- /*
- [Display(GroupName = Global.GroupNames.SiteSettings, Order = 300)]
- public virtual LinkItemCollection ProductPageLinks { get; set; }
-
- [Display(GroupName = Global.GroupNames.SiteSettings, Order = 350)]
- public virtual LinkItemCollection CompanyInformationPageLinks { get; set; }
-
- [Display(GroupName = Global.GroupNames.SiteSettings, Order = 400)]
- public virtual LinkItemCollection NewsPageLinks { get; set; }
-
- [Display(GroupName = Global.GroupNames.SiteSettings, Order = 450)]
- public virtual LinkItemCollection CustomerZonePageLinks { get; set; }
-
- [Display(GroupName = Global.GroupNames.SiteSettings)]
- public virtual PageReference GlobalNewsPageLink { get; set; }
-
- [Display(GroupName = Global.GroupNames.SiteSettings)]
- public virtual PageReference ContactsPageLink { get; set; }
-
- [Display(GroupName = Global.GroupNames.SiteSettings)]
- public virtual PageReference SearchPageLink { get; set; }
-
- [Display(GroupName = Global.GroupNames.SiteSettings)]
- public virtual SiteLogotypeBlock SiteLogotype { get; set; }
- */
+ public virtual ContentArea MainContentArea { get; set; } = null!;
}
\ No newline at end of file
diff --git a/src/Web/Optimizely.TestContainers.csproj b/src/Web/Optimizely.TestContainers.csproj
index a5710e7..be8a83a 100644
--- a/src/Web/Optimizely.TestContainers.csproj
+++ b/src/Web/Optimizely.TestContainers.csproj
@@ -4,6 +4,12 @@
enable
enable
+
+ true
+
+
+ true
+
diff --git a/test/OptimizelyTestContainers.Tests/NewsPageIntegrationTests.cs b/test/OptimizelyTestContainers.Tests/NewsPageIntegrationTests.cs
index ae9fa0f..b5c81b9 100644
--- a/test/OptimizelyTestContainers.Tests/NewsPageIntegrationTests.cs
+++ b/test/OptimizelyTestContainers.Tests/NewsPageIntegrationTests.cs
@@ -20,18 +20,14 @@ public void Can_Create_And_Read_NewsPage()
// Import test data
var basePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)!;
var episerverDataFile = Path.Combine(basePath, "DefaultSiteContent.episerverdata");
-
var dataImporter = Services.GetRequiredService();
dataImporter.Import(episerverDataFile);
-
// Find StartPage from root
- // Setup site definition
-
var startPage = repo.GetChildren(ContentReference.RootPage).First();
+ // Setup site definition
var siteDefinitionRepo = Services.GetRequiredService();
-
siteDefinitionRepo.Save(new SiteDefinition()
{
Name = "TestSite",
@@ -39,15 +35,16 @@ public void Can_Create_And_Read_NewsPage()
SiteUrl = new Uri("http://localhost"),
});
+ // Find first site
var allSites = siteDefinitionRepo.List();
-
var site = allSites.First();
+ // Create NewsPage
var news = repo.GetDefault(site.StartPage);
news.Name = "Alien Invasion";
news.Title = "Martians Landed in Stockholm";
- // Act
+ // Act (Save and Load NewsPage)
var savedRef = repo.Save(news, SaveAction.Publish, AccessLevel.NoAccess);
var loaded = repo.Get(savedRef);
diff --git a/test/OptimizelyTestContainers.Tests/OptimizelyIntegrationTestBase.cs b/test/OptimizelyTestContainers.Tests/OptimizelyIntegrationTestBase.cs
index 5eab8e1..431c79a 100644
--- a/test/OptimizelyTestContainers.Tests/OptimizelyIntegrationTestBase.cs
+++ b/test/OptimizelyTestContainers.Tests/OptimizelyIntegrationTestBase.cs
@@ -37,14 +37,6 @@ public async Task InitializeAsync()
{
webBuilder.ConfigureServices((context, services) =>
{
- // Add CMS services
- services.AddCms();
- services.AddCmsHost();
- services.AddCmsFrameworkWeb();
- services.AddCmsCoreWeb();
- services.AddCmsTemplating();
- services.AddCmsUI();
-
// Override connection string to use container connection
services.Configure(opt =>
{
diff --git a/test/OptimizelyTestContainers.Tests/OptimizelyTestContainers.Tests.csproj b/test/OptimizelyTestContainers.Tests/OptimizelyTestContainers.Tests.csproj
index e942175..0838d0f 100644
--- a/test/OptimizelyTestContainers.Tests/OptimizelyTestContainers.Tests.csproj
+++ b/test/OptimizelyTestContainers.Tests/OptimizelyTestContainers.Tests.csproj
@@ -7,6 +7,14 @@
false
+
+ true
+
+
+
+ true
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive