Files
Umbraco-CMS/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/CreatedPackageSchemaTests.cs
nikolajlauridsen a6bb637fab Add scopes to tests
2023-06-06 12:24:29 +02:00

66 lines
2.5 KiB
C#

using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using Umbraco.Cms.Core.Packaging;
using Umbraco.Cms.Core.Scoping;
using Umbraco.Cms.Tests.Common.Testing;
using Umbraco.Cms.Tests.Integration.Testing;
namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Packaging;
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class CreatedPackageSchemaTests : UmbracoIntegrationTest
{
private ICreatedPackagesRepository CreatedPackageSchemaRepository =>
GetRequiredService<ICreatedPackagesRepository>();
private ICoreScopeProvider ScopeProvider => GetRequiredService<ICoreScopeProvider>();
[Test]
public void PackagesRepository_Can_Save_PackageDefinition()
{
using var scope = ScopeProvider.CreateCoreScope();
var packageDefinition = new PackageDefinition { Name = "NewPack", DocumentTypes = new List<string> { "Root" } };
var result = CreatedPackageSchemaRepository.SavePackage(packageDefinition);
scope.Complete();
Assert.IsTrue(result);
}
[Test]
public void PackageRepository_GetAll_Returns_All_PackageDefinitions()
{
using var scope = ScopeProvider.CreateCoreScope();
var packageDefinitionList = new List<PackageDefinition>
{
new() {Name = "PackOne"}, new() {Name = "PackTwo"}, new() {Name = "PackThree"}
};
foreach (var packageDefinition in packageDefinitionList)
{
CreatedPackageSchemaRepository.SavePackage(packageDefinition);
}
var loadedPackageDefinitions = CreatedPackageSchemaRepository.GetAll().ToList();
scope.Complete();
CollectionAssert.IsNotEmpty(loadedPackageDefinitions);
CollectionAssert.AllItemsAreUnique(loadedPackageDefinitions);
Assert.AreEqual(loadedPackageDefinitions.Count, 3);
}
[Test]
public void PackageRepository_Can_Update_Package()
{
using var scope = ScopeProvider.CreateCoreScope();
var packageDefinition = new PackageDefinition { Name = "TestPackage" };
CreatedPackageSchemaRepository.SavePackage(packageDefinition);
packageDefinition.Name = "UpdatedName";
CreatedPackageSchemaRepository.SavePackage(packageDefinition);
var results = CreatedPackageSchemaRepository.GetAll().ToList();
scope.Complete();
Assert.AreEqual(1, results.Count);
Assert.AreEqual("UpdatedName", results.FirstOrDefault()?.Name);
}
}