v9: Move local xml package files to database instead (#11654)
* Move package to database * Added migration and implemented new repository * Updated migrations to use proper xml convert * Fixed save function and renamed createDate to update date * Updated dependencyInjection * Updated UmbracoPlan.cs * Apply suggestions from code review Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> * Added File check * Tried using same context as create table * Fix DTO * Fix GetById and local package saving * Fix images when migrating * Implement deletion of all local files * Only delete local repo file, not file snapshots * Remove static package path and use the one we save * Update package repo to export package and remove check for ids when exporting * Minor fixes * Fix so that you can download package after creating * Update savePackage method to export package afterwards Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk> Co-authored-by: Elitsa Marinovska <elm@umbraco.dk> Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core.Packaging;
|
||||
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>();
|
||||
|
||||
[Test]
|
||||
public void PackagesRepository_Can_Save_PackageDefinition()
|
||||
{
|
||||
var packageDefinition = new PackageDefinition()
|
||||
{
|
||||
Name = "NewPack", DocumentTypes = new List<string>() { "Root" }
|
||||
};
|
||||
var result = CreatedPackageSchemaRepository.SavePackage(packageDefinition);
|
||||
Assert.IsTrue(result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void PackageRepository_GetAll_Returns_All_PackageDefinitions()
|
||||
{
|
||||
var packageDefinitionList = new List<PackageDefinition>()
|
||||
{
|
||||
new () { Name = "PackOne" },
|
||||
new () { Name = "PackTwo" },
|
||||
new () { Name = "PackThree" }
|
||||
};
|
||||
foreach (PackageDefinition packageDefinition in packageDefinitionList)
|
||||
{
|
||||
CreatedPackageSchemaRepository.SavePackage(packageDefinition);
|
||||
}
|
||||
|
||||
var loadedPackageDefinitions = CreatedPackageSchemaRepository.GetAll().ToList();
|
||||
CollectionAssert.IsNotEmpty(loadedPackageDefinitions);
|
||||
CollectionAssert.AllItemsAreUnique(loadedPackageDefinitions);
|
||||
Assert.AreEqual(loadedPackageDefinitions.Count, 3);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void PackageRepository_Can_Update_Package()
|
||||
{
|
||||
var packageDefinition = new PackageDefinition() { Name = "TestPackage" };
|
||||
CreatedPackageSchemaRepository.SavePackage(packageDefinition);
|
||||
|
||||
packageDefinition.Name = "UpdatedName";
|
||||
CreatedPackageSchemaRepository.SavePackage(packageDefinition);
|
||||
var result = CreatedPackageSchemaRepository.GetAll().ToList();
|
||||
|
||||
Assert.AreEqual(result.Count, 1);
|
||||
Assert.AreEqual(result.FirstOrDefault()?.Name, "UpdatedName");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user