UnitOfWork RIP, build tests
This commit is contained in:
@@ -58,7 +58,7 @@ namespace Umbraco.Tests.Cache.PublishedCache
|
||||
SettingsForTests.ConfigureSettings(settings);
|
||||
_xml = new XmlDocument();
|
||||
_xml.LoadXml(GetXml());
|
||||
var xmlStore = new XmlStore(() => _xml);
|
||||
var xmlStore = new XmlStore(() => _xml, null, null, null);
|
||||
var cacheProvider = new StaticCacheProvider();
|
||||
var domainCache = new DomainCache(ServiceContext.DomainService);
|
||||
var publishedShapshot = new Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedShapshot(
|
||||
|
||||
@@ -56,7 +56,7 @@ namespace Umbraco.Tests.Cache.PublishedCache
|
||||
var mChild2 = MakeNewMedia("Child2", mType, user, mRoot2.Id);
|
||||
|
||||
var ctx = GetUmbracoContext("/test");
|
||||
var cache = new PublishedMediaCache(new XmlStore((XmlDocument) null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var cache = new PublishedMediaCache(new XmlStore((XmlDocument) null, null, null, null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var roots = cache.GetAtRoot();
|
||||
Assert.AreEqual(2, roots.Count());
|
||||
Assert.IsTrue(roots.Select(x => x.Id).ContainsAll(new[] {mRoot1.Id, mRoot2.Id}));
|
||||
@@ -73,7 +73,7 @@ namespace Umbraco.Tests.Cache.PublishedCache
|
||||
|
||||
//var publishedMedia = PublishedMediaTests.GetNode(mRoot.Id, GetUmbracoContext("/test", 1234));
|
||||
var umbracoContext = GetUmbracoContext("/test");
|
||||
var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null), Current.Services.MediaService, Current.Services.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null), Current.Services.MediaService, Current.Services.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var publishedMedia = cache.GetById(mRoot.Id);
|
||||
Assert.IsNotNull(publishedMedia);
|
||||
|
||||
@@ -186,7 +186,7 @@ namespace Umbraco.Tests.Cache.PublishedCache
|
||||
result.Fields.Add("creatorID", "0");
|
||||
result.Fields.Add("creatorName", "Shannon");
|
||||
|
||||
var store = new PublishedMediaCache(new XmlStore((XmlDocument)null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var store = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var doc = store.CreateFromCacheValues(store.ConvertFromSearchResult(result));
|
||||
|
||||
DoAssert(doc, 1234, key, 0, 0, "/media/test.jpg", "Image", 0, "Shannon", "Shannon", 0, 0, "-1,1234", DateTime.Parse("2012-07-17T10:34:09"), DateTime.Parse("2012-07-16T10:34:09"), 2);
|
||||
@@ -202,7 +202,7 @@ namespace Umbraco.Tests.Cache.PublishedCache
|
||||
var xmlDoc = GetMediaXml();
|
||||
((XmlElement)xmlDoc.DocumentElement.FirstChild).SetAttribute("key", key.ToString());
|
||||
var navigator = xmlDoc.SelectSingleNode("/root/Image").CreateNavigator();
|
||||
var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var doc = cache.CreateFromCacheValues(cache.ConvertFromXPathNavigator(navigator, true));
|
||||
|
||||
DoAssert(doc, 2000, key, 0, 2, "image1", "Image", 2044, "Shannon", "Shannon", 33, 33, "-1,2000", DateTime.Parse("2012-06-12T14:13:17"), DateTime.Parse("2012-07-20T18:50:43"), 1);
|
||||
|
||||
@@ -4,6 +4,7 @@ using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -19,7 +20,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var sp = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = sp.CreateScope())
|
||||
{
|
||||
var repo = new AuditRepository(sp, CacheHelper, Logger);
|
||||
var repo = new AuditRepository((IScopeAccessor) sp, CacheHelper, Logger);
|
||||
repo.Save(new AuditItem(-1, "This is a System audit trail", AuditType.System, 0));
|
||||
|
||||
var dtos = scope.Database.Fetch<LogDto>("WHERE id > -1");
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Web;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Core;
|
||||
@@ -13,8 +10,6 @@ using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
|
||||
@@ -45,30 +40,30 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
base.TearDown();
|
||||
}
|
||||
|
||||
private DocumentRepository CreateRepository(IScopeUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository, out DataTypeDefinitionRepository dtdRepository, CacheHelper cacheHelper = null)
|
||||
private DocumentRepository CreateRepository(IScopeAccessor scopeAccessor, out ContentTypeRepository contentTypeRepository, out DataTypeDefinitionRepository dtdRepository, CacheHelper cacheHelper = null)
|
||||
{
|
||||
cacheHelper = cacheHelper ?? CacheHelper;
|
||||
|
||||
TemplateRepository tr;
|
||||
var ctRepository = CreateRepository(unitOfWork, out contentTypeRepository, out tr);
|
||||
dtdRepository = new DataTypeDefinitionRepository(unitOfWork, cacheHelper, Logger, contentTypeRepository);
|
||||
var ctRepository = CreateRepository(scopeAccessor, out contentTypeRepository, out tr);
|
||||
dtdRepository = new DataTypeDefinitionRepository(scopeAccessor, cacheHelper, Logger);
|
||||
return ctRepository;
|
||||
}
|
||||
|
||||
private DocumentRepository CreateRepository(IScopeUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository, CacheHelper cacheHelper = null)
|
||||
private DocumentRepository CreateRepository(IScopeAccessor scopeAccessor, out ContentTypeRepository contentTypeRepository, CacheHelper cacheHelper = null)
|
||||
{
|
||||
TemplateRepository tr;
|
||||
return CreateRepository(unitOfWork, out contentTypeRepository, out tr, cacheHelper);
|
||||
return CreateRepository(scopeAccessor, out contentTypeRepository, out tr, cacheHelper);
|
||||
}
|
||||
|
||||
private DocumentRepository CreateRepository(IScopeUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository, out TemplateRepository templateRepository, CacheHelper cacheHelper = null)
|
||||
private DocumentRepository CreateRepository(IScopeAccessor scopeAccessor, out ContentTypeRepository contentTypeRepository, out TemplateRepository templateRepository, CacheHelper cacheHelper = null)
|
||||
{
|
||||
cacheHelper = cacheHelper ?? CacheHelper;
|
||||
|
||||
templateRepository = new TemplateRepository(unitOfWork, cacheHelper, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepository = new TagRepository(unitOfWork, cacheHelper, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(unitOfWork, cacheHelper, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, cacheHelper, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
templateRepository = new TemplateRepository(scopeAccessor, cacheHelper, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepository = new TagRepository(scopeAccessor, cacheHelper, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(scopeAccessor, cacheHelper, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(scopeAccessor, cacheHelper, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
|
||||
@@ -81,12 +76,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
new StaticCacheProvider(),
|
||||
new IsolatedRuntimeCache(t => new ObjectCacheRuntimeCacheProvider()));
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository, cacheHelper: realCache);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository, cacheHelper: realCache);
|
||||
|
||||
var udb = (UmbracoDatabase) unitOfWork.Database;
|
||||
var udb = (UmbracoDatabase) scope.Database;
|
||||
|
||||
udb.EnableSqlCount = false;
|
||||
|
||||
@@ -95,7 +90,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
contentTypeRepository.Save(contentType);
|
||||
var content = MockedContent.CreateSimpleContent(contentType);
|
||||
repository.Save(content);
|
||||
unitOfWork.Complete();
|
||||
|
||||
udb.EnableSqlCount = true;
|
||||
|
||||
@@ -123,10 +117,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void CreateVersions()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository, out DataTypeDefinitionRepository _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository, out DataTypeDefinitionRepository _);
|
||||
|
||||
var versions = new List<int>();
|
||||
var hasPropertiesContentType = MockedContentTypes.CreateSimpleContentType("umbTextpage1", "Textpage");
|
||||
@@ -137,7 +131,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// save = create the initial version
|
||||
contentTypeRepository.Save(hasPropertiesContentType);
|
||||
repository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
versions.Add(content1.VersionId); // the first version
|
||||
|
||||
// publish = new edit version
|
||||
@@ -145,7 +139,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
((Content) content1).PublishValues();
|
||||
((Content) content1).PublishedState = PublishedState.Publishing;
|
||||
repository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
versions.Add(content1.VersionId); // NEW VERSION
|
||||
|
||||
// new edit version has been created
|
||||
@@ -155,14 +149,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId);
|
||||
|
||||
// misc checks
|
||||
Assert.AreEqual(true, unitOfWork.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
Assert.AreEqual(true, scope.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
|
||||
// change something
|
||||
// save = update the current (draft) version
|
||||
content1.Name = "name-1";
|
||||
content1.SetValue("title", "title-1");
|
||||
repository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
versions.Add(content1.VersionId); // the same version
|
||||
|
||||
// no new version has been created
|
||||
@@ -171,12 +165,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId);
|
||||
|
||||
// misc checks
|
||||
Assert.AreEqual(true, unitOfWork.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
Assert.AreEqual(true, scope.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
|
||||
// unpublish = no impact on versions
|
||||
((Content) content1).PublishedState = PublishedState.Unpublishing;
|
||||
repository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
versions.Add(content1.VersionId); // the same version
|
||||
|
||||
// no new version has been created
|
||||
@@ -186,14 +180,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId);
|
||||
|
||||
// misc checks
|
||||
Assert.AreEqual(false, unitOfWork.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
Assert.AreEqual(false, scope.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
|
||||
// change something
|
||||
// save = update the current (draft) version
|
||||
content1.Name = "name-2";
|
||||
content1.SetValue("title", "title-2");
|
||||
repository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
versions.Add(content1.VersionId); // the same version
|
||||
|
||||
// no new version has been created
|
||||
@@ -201,13 +195,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId);
|
||||
|
||||
// misc checks
|
||||
Assert.AreEqual(false, unitOfWork.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
Assert.AreEqual(false, scope.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
|
||||
// publish = version
|
||||
((Content) content1).PublishValues();
|
||||
((Content) content1).PublishedState = PublishedState.Publishing;
|
||||
repository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
versions.Add(content1.VersionId); // NEW VERSION
|
||||
|
||||
// new version has been created
|
||||
@@ -217,7 +211,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId);
|
||||
|
||||
// misc checks
|
||||
Assert.AreEqual(true, unitOfWork.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
Assert.AreEqual(true, scope.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
|
||||
// change something
|
||||
// save = update the current (draft) version
|
||||
@@ -227,7 +221,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
//Thread.Sleep(2000); // force date change
|
||||
|
||||
repository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
versions.Add(content1.VersionId); // the same version
|
||||
|
||||
// no new version has been created
|
||||
@@ -235,7 +229,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId);
|
||||
|
||||
// misc checks
|
||||
Assert.AreEqual(true, unitOfWork.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
Assert.AreEqual(true, scope.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
|
||||
// publish = new version
|
||||
content1.Name = "name-4";
|
||||
@@ -243,7 +237,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
((Content) content1).PublishValues();
|
||||
((Content) content1).PublishedState = PublishedState.Publishing;
|
||||
repository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
versions.Add(content1.VersionId); // NEW VERSION
|
||||
|
||||
// a new version has been created
|
||||
@@ -253,7 +247,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(versions[versions.Count - 1], repository.Get(content1.Id).VersionId);
|
||||
|
||||
// misc checks
|
||||
Assert.AreEqual(true, unitOfWork.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
Assert.AreEqual(true, scope.Database.ExecuteScalar<bool>("SELECT published FROM uDocument WHERE nodeId=@id", new { id = content1.Id }));
|
||||
|
||||
// all versions
|
||||
var allVersions = repository.GetAllVersions(content1.Id).ToArray();
|
||||
@@ -296,10 +290,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void PropertyDataAssignedCorrectly()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository, out DataTypeDefinitionRepository _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository, out DataTypeDefinitionRepository _);
|
||||
|
||||
var emptyContentType = MockedContentTypes.CreateBasicContentType();
|
||||
var hasPropertiesContentType = MockedContentTypes.CreateSimpleContentType("umbTextpage1", "Textpage");
|
||||
@@ -313,7 +307,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(content1);
|
||||
repository.Save(content2);
|
||||
repository.Save(content3);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// this will cause the GetPropertyCollection to execute and we need to ensure that
|
||||
// all of the properties and property types are all correct
|
||||
@@ -346,14 +340,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void PropertyValuesWithSpecialTypes()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository, out DataTypeDefinitionRepository dataTypeDefinitionRepository);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository, out DataTypeDefinitionRepository dataTypeDefinitionRepository);
|
||||
|
||||
var dtd = new DataTypeDefinition(-1, Constants.PropertyEditors.DecimalAlias) { Name = "test", DatabaseType = DataTypeDatabaseType.Decimal };
|
||||
dataTypeDefinitionRepository.Save(dtd);
|
||||
unitOfWork.Complete();
|
||||
|
||||
const string decimalPropertyAlias = "decimalProperty";
|
||||
const string intPropertyAlias = "intProperty";
|
||||
@@ -369,13 +362,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
});
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage1", "Textpage", propertyTypeCollection);
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Complete();
|
||||
|
||||
// int and decimal values are passed in as strings as they would be from the backoffice UI
|
||||
var textpage = MockedContent.CreateSimpleContentWithSpecialDatabaseTypes(contentType, "test@umbraco.org", -1, "100", "150", dateValue);
|
||||
|
||||
repository.Save(textpage);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
Assert.That(contentType.HasIdentity, Is.True);
|
||||
Assert.That(textpage.HasIdentity, Is.True);
|
||||
@@ -394,17 +386,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void SaveContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository);
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
IContent textpage = MockedContent.CreateSimpleContent(contentType);
|
||||
|
||||
contentTypeRepository.Save(contentType);
|
||||
repository.Save(textpage);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
Assert.That(contentType.HasIdentity, Is.True);
|
||||
Assert.That(textpage.HasIdentity, Is.True);
|
||||
@@ -414,14 +406,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void SaveContentWithDefaultTemplate()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository, out TemplateRepository templateRepository);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository, out TemplateRepository templateRepository);
|
||||
|
||||
var template = new Template("hello", "hello");
|
||||
templateRepository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage");
|
||||
contentType.AllowedTemplates = Enumerable.Empty<ITemplate>(); // because CreateSimpleContentType assigns one already
|
||||
@@ -430,14 +422,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
contentTypeRepository.Save(contentType);
|
||||
repository.Save(textpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var fetched = repository.Get(textpage.Id);
|
||||
|
||||
Assert.NotNull(textpage.Template);
|
||||
Assert.AreEqual(textpage.Template, contentType.DefaultTemplate);
|
||||
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
TestHelper.AssertPropertyValuesAreEqual(textpage, fetched, "yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
@@ -448,21 +440,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void SaveContentWithAtSignInName()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository);
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage1", "Textpage");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var textpage = MockedContent.CreateSimpleContent(contentType, "test@umbraco.org");
|
||||
var anotherTextpage = MockedContent.CreateSimpleContent(contentType, "@lightgiants");
|
||||
|
||||
repository.Save(textpage);
|
||||
repository.Save(anotherTextpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
|
||||
Assert.That(contentType.HasIdentity, Is.True);
|
||||
@@ -474,28 +466,28 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var content2 = repository.Get(anotherTextpage.Id);
|
||||
Assert.That(content2.Name, Is.EqualTo(anotherTextpage.Name));
|
||||
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SaveContentMultiple()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository);
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage1", "Textpage");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
var textpage = MockedContent.CreateSimpleContent(contentType);
|
||||
|
||||
contentTypeRepository.Save(contentType);
|
||||
repository.Save(textpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var subpage = MockedContent.CreateSimpleContent(contentType, "Text Page 1", textpage.Id);
|
||||
repository.Save(subpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
Assert.That(contentType.HasIdentity, Is.True);
|
||||
Assert.That(textpage.HasIdentity, Is.True);
|
||||
@@ -509,10 +501,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetContentIsNotDirty()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var content = repository.Get(NodeDto.NodeIdSeed + 3);
|
||||
var dirty = ((Content) content).IsDirty();
|
||||
@@ -524,15 +516,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void UpdateContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var content = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
content.Name = "About 2";
|
||||
repository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var updatedContent = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
|
||||
Assert.AreEqual(content.Id, updatedContent.Id);
|
||||
@@ -542,7 +534,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(content.GetValue("title"), "Welcome to our Home page");
|
||||
content.SetValue("title", "toot");
|
||||
repository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
updatedContent = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
|
||||
Assert.AreEqual("toot", updatedContent.GetValue("title"));
|
||||
@@ -553,15 +545,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void UpdateContentWithNullTemplate()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var content = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
content.Template = null;
|
||||
repository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var updatedContent = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
|
||||
Assert.IsNull(updatedContent.Template);
|
||||
@@ -572,21 +564,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void DeleteContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out var contentTypeRepository);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out var contentTypeRepository);
|
||||
var contentType = contentTypeRepository.Get(NodeDto.NodeIdSeed + 1);
|
||||
var content = new Content("Textpage 2 Child Node", NodeDto.NodeIdSeed + 4, contentType);
|
||||
content.CreatorId = 0;
|
||||
content.WriterId = 0;
|
||||
|
||||
repository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var id = content.Id;
|
||||
|
||||
repository.Delete(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var content1 = repository.Get(id);
|
||||
Assert.IsNull(content1);
|
||||
@@ -596,10 +588,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
var content = repository.Get(NodeDto.NodeIdSeed + 4);
|
||||
|
||||
Assert.AreEqual(NodeDto.NodeIdSeed + 4, content.Id);
|
||||
@@ -617,12 +609,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void QueryContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var result = repository.Get(query);
|
||||
|
||||
Assert.GreaterOrEqual(2, result.Count());
|
||||
@@ -634,10 +626,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
IContent[] result;
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
result = repository.GetMany().ToArray();
|
||||
|
||||
// save them all
|
||||
@@ -646,7 +638,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
content.SetValue("title", content.GetValue<string>("title") + "x");
|
||||
repository.Save(content);
|
||||
}
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// publish them all
|
||||
foreach (var content in result)
|
||||
@@ -654,15 +646,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
content.PublishValues();
|
||||
repository.Save(content);
|
||||
}
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
}
|
||||
|
||||
// get them all again
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
var result2 = repository.GetMany().ToArray();
|
||||
|
||||
Assert.AreEqual(result.Length, result2.Length);
|
||||
@@ -686,17 +678,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetPagedResultsByQuery_CustomPropertySort()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Name.Contains("Text"));
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Name.Contains("Text"));
|
||||
|
||||
try
|
||||
{
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlCount = true;
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlCount = true;
|
||||
|
||||
var result = repository.GetPage(query, 0, 2, out var totalRecords, "title", Direction.Ascending, false);
|
||||
|
||||
@@ -709,8 +701,8 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
finally
|
||||
{
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlTrace = false;
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlCount = false;
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlTrace = false;
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlCount = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -718,17 +710,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetPagedResultsByQuery_FirstPage()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
|
||||
try
|
||||
{
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlCount = true;
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlCount = true;
|
||||
|
||||
var result = repository.GetPage(query, 0, 1, out var totalRecords, "Name", Direction.Ascending, true);
|
||||
|
||||
@@ -738,8 +730,8 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
finally
|
||||
{
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlTrace = false;
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlCount = false;
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlTrace = false;
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlCount = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -747,12 +739,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetPagedResultsByQuery_SecondPage()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var result = repository.GetPage(query, 1, 1, out var totalRecords, "Name", Direction.Ascending, true);
|
||||
|
||||
Assert.That(totalRecords, Is.GreaterThanOrEqualTo(2));
|
||||
@@ -764,12 +756,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetPagedResultsByQuery_SinglePage()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var result = repository.GetPage(query, 0, 2, out var totalRecords, "Name", Direction.Ascending, true);
|
||||
|
||||
Assert.That(totalRecords, Is.GreaterThanOrEqualTo(2));
|
||||
@@ -781,12 +773,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetPagedResultsByQuery_DescendingOrder()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var result = repository.GetPage(query, 0, 1, out var totalRecords, "Name", Direction.Descending, true);
|
||||
|
||||
Assert.That(totalRecords, Is.GreaterThanOrEqualTo(2));
|
||||
@@ -798,14 +790,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetPagedResultsByQuery_FilterMatchingSome()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
|
||||
var filterQuery = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Name.Contains("Page 2"));
|
||||
var filterQuery = scope.SqlContext.Query<IContent>().Where(x => x.Name.Contains("Page 2"));
|
||||
var result = repository.GetPage(query, 0, 1, out var totalRecords, "Name", Direction.Ascending, true, filterQuery);
|
||||
|
||||
Assert.That(totalRecords, Is.EqualTo(1));
|
||||
@@ -817,14 +809,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetPagedResultsByQuery_FilterMatchingAll()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
|
||||
var filterQuery = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Name.Contains("text"));
|
||||
var filterQuery = scope.SqlContext.Query<IContent>().Where(x => x.Name.Contains("text"));
|
||||
var result = repository.GetPage(query, 0, 1, out var totalRecords, "Name", Direction.Ascending, true, filterQuery);
|
||||
|
||||
Assert.That(totalRecords, Is.EqualTo(2));
|
||||
@@ -836,10 +828,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetAllContentByIds()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var contents = repository.GetMany(NodeDto.NodeIdSeed + 2, NodeDto.NodeIdSeed + 3);
|
||||
|
||||
@@ -853,10 +845,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetAllContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var contents = repository.GetMany();
|
||||
|
||||
@@ -879,10 +871,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void ExistContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var exists = repository.Exists(NodeDto.NodeIdSeed + 2);
|
||||
|
||||
@@ -893,12 +885,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void CountContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Level == 2);
|
||||
var result = repository.Count(query);
|
||||
|
||||
Assert.That(result, Is.GreaterThanOrEqualTo(2));
|
||||
@@ -908,12 +900,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void QueryContentByUniqueId()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out _);
|
||||
var repository = CreateRepository((IScopeAccessor) provider, out _);
|
||||
|
||||
var query = unitOfWork.SqlContext.Query<IContent>().Where(x => x.Key == new Guid("B58B3AD4-62C2-4E27-B1BE-837BD7C533E0"));
|
||||
var query = scope.SqlContext.Query<IContent>().Where(x => x.Key == new Guid("B58B3AD4-62C2-4E27-B1BE-837BD7C533E0"));
|
||||
var content = repository.Get(query).SingleOrDefault();
|
||||
|
||||
Assert.IsNotNull(content);
|
||||
|
||||
@@ -14,7 +14,7 @@ using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -33,31 +33,31 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData();
|
||||
}
|
||||
|
||||
private DocumentRepository CreateRepository(IScopeUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository)
|
||||
private DocumentRepository CreateRepository(IScopeAccessor scopeAccessor, out ContentTypeRepository contentTypeRepository)
|
||||
{
|
||||
var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepository = new TagRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, templateRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
var templateRepository = new TemplateRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepository = new TagRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger, templateRepository);
|
||||
var repository = new DocumentRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
|
||||
private ContentTypeRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private ContentTypeRepository CreateRepository(IScopeAccessor scopeAccessor)
|
||||
{
|
||||
var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, templateRepository);
|
||||
var templateRepository = new TemplateRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var contentTypeRepository = new ContentTypeRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger, templateRepository);
|
||||
return contentTypeRepository;
|
||||
}
|
||||
|
||||
private MediaTypeRepository CreateMediaTypeRepository(IScopeUnitOfWork unitOfWork)
|
||||
private MediaTypeRepository CreateMediaTypeRepository(IScopeAccessor scopeAccessor)
|
||||
{
|
||||
var contentTypeRepository = new MediaTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger);
|
||||
var contentTypeRepository = new MediaTypeRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger);
|
||||
return contentTypeRepository;
|
||||
}
|
||||
|
||||
private EntityContainerRepository CreateContainerRepository(IScopeUnitOfWork unitOfWork, Guid containerEntityType)
|
||||
private EntityContainerRepository CreateContainerRepository(IScopeAccessor scopeAccessor, Guid containerEntityType)
|
||||
{
|
||||
return new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, containerEntityType);
|
||||
return new EntityContainerRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger, containerEntityType);
|
||||
}
|
||||
|
||||
//TODO Add test to verify SetDefaultTemplates updates both AllowedTemplates and DefaultTemplate(id).
|
||||
@@ -67,11 +67,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Maps_Templates_Correctly()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var templateRepo = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var templateRepo = new TemplateRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var templates = new[]
|
||||
{
|
||||
new Template("test1", "test1"),
|
||||
@@ -82,13 +82,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
templateRepo.Save(template);
|
||||
}
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType();
|
||||
contentType.AllowedTemplates = new[] { templates[0], templates[1] };
|
||||
contentType.SetDefaultTemplate(templates[0]);
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//re-get
|
||||
var result = repository.Get(contentType.Id);
|
||||
@@ -102,23 +102,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Move()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork, Constants.ObjectTypes.DocumentTypeContainer);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository((IScopeAccessor) provider, Constants.ObjectTypes.DocumentTypeContainer);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var container1 = new EntityContainer(Constants.ObjectTypes.DocumentType) { Name = "blah1" };
|
||||
containerRepository.Save(container1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var container2 = new EntityContainer(Constants.ObjectTypes.DocumentType) { Name = "blah2", ParentId = container1.Id };
|
||||
containerRepository.Save(container2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType = (IContentType)MockedContentTypes.CreateBasicContentType("asdfasdf");
|
||||
contentType.ParentId = container2.Id;
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//create a
|
||||
var contentType2 = (IContentType)new ContentType(contentType, "hello")
|
||||
@@ -127,10 +127,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
};
|
||||
contentType.ParentId = contentType.Id;
|
||||
repository.Save(contentType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var result = repository.Move(contentType, container1).ToArray();
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
Assert.AreEqual(2, result.Count());
|
||||
|
||||
@@ -148,13 +148,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Create_Container()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork, Constants.ObjectTypes.DocumentTypeContainer);
|
||||
var containerRepository = CreateContainerRepository((IScopeAccessor) provider, Constants.ObjectTypes.DocumentTypeContainer);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.DocumentType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.That(container.Id, Is.GreaterThan(0));
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
@@ -167,10 +167,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
EntityContainer container1, container2, container3;
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork, Constants.ObjectTypes.DocumentTypeContainer);
|
||||
var containerRepository = CreateContainerRepository((IScopeAccessor) provider, Constants.ObjectTypes.DocumentTypeContainer);
|
||||
|
||||
container1 = new EntityContainer(Constants.ObjectTypes.DocumentType) { Name = "container1" };
|
||||
containerRepository.Save(container1);
|
||||
@@ -178,7 +178,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
containerRepository.Save(container2);
|
||||
container3 = new EntityContainer(Constants.ObjectTypes.DocumentType) { Name = "container3" };
|
||||
containerRepository.Save(container3);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.That(container1.Id, Is.GreaterThan(0));
|
||||
Assert.That(container2.Id, Is.GreaterThan(0));
|
||||
Assert.That(container3.Id, Is.GreaterThan(0));
|
||||
@@ -197,17 +197,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Delete_Container()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork, Constants.ObjectTypes.DocumentTypeContainer);
|
||||
var containerRepository = CreateContainerRepository((IScopeAccessor) provider, Constants.ObjectTypes.DocumentTypeContainer);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.DocumentType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
@@ -217,19 +217,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Create_Container_Containing_Media_Types()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork, Constants.ObjectTypes.MediaTypeContainer);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository((IScopeAccessor) provider, Constants.ObjectTypes.MediaTypeContainer);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.MediaType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test", propertyGroupName: "testGroup");
|
||||
contentType.ParentId = container.Id;
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
Assert.AreEqual(container.Id, contentType.ParentId);
|
||||
}
|
||||
@@ -238,23 +238,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Delete_Container_Containing_Media_Types()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork, Constants.ObjectTypes.MediaTypeContainer);
|
||||
var repository = CreateMediaTypeRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository((IScopeAccessor) provider, Constants.ObjectTypes.MediaTypeContainer);
|
||||
var repository = CreateMediaTypeRepository((IScopeAccessor) provider);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.MediaType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
IMediaType contentType = MockedContentTypes.CreateSimpleMediaType("test", "Test", propertyGroupName: "testGroup");
|
||||
contentType.ParentId = container.Id;
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
@@ -269,14 +269,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
// Act
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test", propertyGroupName: "testGroup");
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var fetched = repository.Get(contentType.Id);
|
||||
|
||||
@@ -304,10 +304,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_ContentTypeRepository_After_Model_Mapping()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
// Act
|
||||
var contentType = (IContentType)MockedContentTypes.CreateSimpleContentType2("test", "Test", propertyGroupName: "testGroup");
|
||||
|
||||
@@ -322,7 +322,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(4, mapped.PropertyTypes.Count());
|
||||
|
||||
repository.Save(mapped);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
Assert.AreEqual(4, mapped.PropertyTypes.Count());
|
||||
|
||||
@@ -353,10 +353,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
// Act
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
@@ -370,7 +370,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
DataTypeDefinitionId = -88
|
||||
});
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var dirty = ((ICanBeDirty)contentType).IsDirty();
|
||||
|
||||
@@ -429,10 +429,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_ContentTypeRepository_After_Model_Mapping()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
// Act
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
@@ -468,7 +468,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.IsTrue(mapped.PropertyTypes.Any(x => x.Alias == "subtitle"));
|
||||
|
||||
repository.Save(mapped);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var dirty = mapped.IsDirty();
|
||||
|
||||
@@ -492,18 +492,18 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
// Act
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType();
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType2 = repository.Get(contentType.Id);
|
||||
repository.Delete(contentType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var exists = repository.Exists(contentType.Id);
|
||||
|
||||
@@ -516,10 +516,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_With_Heirarchy_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var ctMain = MockedContentTypes.CreateSimpleContentType();
|
||||
var ctChild1 = MockedContentTypes.CreateSimpleContentType("child1", "Child 1", ctMain, true);
|
||||
var ctChild2 = MockedContentTypes.CreateSimpleContentType("child2", "Child 2", ctChild1, true);
|
||||
@@ -527,13 +527,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(ctMain);
|
||||
repository.Save(ctChild1);
|
||||
repository.Save(ctChild2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
|
||||
var resolvedParent = repository.Get(ctMain.Id);
|
||||
repository.Delete(resolvedParent);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(repository.Exists(ctMain.Id), Is.False);
|
||||
@@ -546,10 +546,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Query_On_ContentTypeRepository_Sort_By_Name()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
var child1 = MockedContentTypes.CreateSimpleContentType("abc", "abc", contentType, randomizeAliases: true);
|
||||
repository.Save(child1);
|
||||
@@ -557,10 +557,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(child3);
|
||||
var child2 = MockedContentTypes.CreateSimpleContentType("a123", "a123", contentType, randomizeAliases: true);
|
||||
repository.Save(child2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var contentTypes = repository.Get(unitOfWork.SqlContext.Query<IContentType>().Where(x => x.ParentId == contentType.Id));
|
||||
var contentTypes = repository.Get(scope.SqlContext.Query<IContentType>().Where(x => x.ParentId == contentType.Id));
|
||||
|
||||
// Assert
|
||||
Assert.That(contentTypes.Count(), Is.EqualTo(3));
|
||||
@@ -575,10 +575,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
|
||||
// Act
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
@@ -593,14 +593,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_By_Guid_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
var childContentType = MockedContentTypes.CreateSimpleContentType("blah", "Blah", contentType, randomizeAliases:true);
|
||||
repository.Save(childContentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var result = repository.Get(childContentType.Key);
|
||||
@@ -615,10 +615,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_By_Missing_Guid_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
// Act
|
||||
var result = repository.Get(Guid.NewGuid());
|
||||
|
||||
@@ -631,15 +631,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
|
||||
// Act
|
||||
var contentTypes = repository.GetMany();
|
||||
int count =
|
||||
unitOfWork.Database.ExecuteScalar<int>(
|
||||
scope.Database.ExecuteScalar<int>(
|
||||
"SELECT COUNT(*) FROM umbracoNode WHERE nodeObjectType = @NodeObjectType",
|
||||
new {NodeObjectType = Constants.ObjectTypes.DocumentType});
|
||||
|
||||
@@ -653,16 +653,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_By_Guid_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var allGuidIds = repository.GetMany().Select(x => x.Key).ToArray();
|
||||
|
||||
// Act
|
||||
var contentTypes = ((IReadRepository<Guid, IContentType>)repository).GetMany(allGuidIds);
|
||||
int count =
|
||||
unitOfWork.Database.ExecuteScalar<int>(
|
||||
scope.Database.ExecuteScalar<int>(
|
||||
"SELECT COUNT(*) FROM umbracoNode WHERE nodeObjectType = @NodeObjectType",
|
||||
new { NodeObjectType = Constants.ObjectTypes.DocumentType });
|
||||
|
||||
@@ -676,10 +676,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_ContentTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(NodeDto.NodeIdSeed);
|
||||
@@ -693,16 +693,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Update_ContentType_With_PropertyType_Removed()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
// Act
|
||||
contentType.PropertyGroups["Meta"].PropertyTypes.Remove("description");
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var result = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
@@ -717,10 +717,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_PropertyTypes_On_SimpleTextpage()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
|
||||
// Act
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed);
|
||||
@@ -735,10 +735,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_PropertyTypes_On_Textpage()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
|
||||
// Act
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
@@ -753,10 +753,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_PropertyType_With_No_Group()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
Assert.That(contentType.PropertyGroups.Count, Is.EqualTo(2));
|
||||
@@ -778,7 +778,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.That(contentType.PropertyTypes.Count(), Is.EqualTo(5));
|
||||
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
var updated = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
@@ -794,16 +794,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_AllowedChildContentTypes_On_ContentType()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository((IScopeAccessor) provider);
|
||||
|
||||
var subpageContentType = MockedContentTypes.CreateSimpleContentType("umbSubpage", "Subpage");
|
||||
var simpleSubpageContentType = MockedContentTypes.CreateSimpleContentType("umbSimpleSubpage", "Simple Subpage");
|
||||
repository.Save(subpageContentType);
|
||||
repository.Save(simpleSubpageContentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed);
|
||||
@@ -813,7 +813,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
new ContentTypeSort(new Lazy<int>(() => simpleSubpageContentType.Id), 1, simpleSubpageContentType.Alias)
|
||||
};
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
var updated = repository.Get(NodeDto.NodeIdSeed);
|
||||
@@ -828,21 +828,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_Removal_Of_Used_PropertyType_From_ContentType()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository repository;
|
||||
var contentRepository = CreateRepository(unitOfWork, out repository);
|
||||
var contentRepository = CreateRepository((IScopeAccessor) provider, out repository);
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
var subpage = MockedContent.CreateTextpageContent(contentType, "Text Page 1", contentType.Id);
|
||||
contentRepository.Save(subpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
contentType.RemovePropertyType("keywords");
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(contentType.PropertyTypes.Count(), Is.EqualTo(3));
|
||||
@@ -855,22 +855,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_Addition_Of_PropertyType_After_ContentType_Is_Used()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository repository;
|
||||
var contentRepository = CreateRepository(unitOfWork, out repository);
|
||||
var contentRepository = CreateRepository((IScopeAccessor) provider, out repository);
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
var subpage = MockedContent.CreateTextpageContent(contentType, "Text Page 1", contentType.Id);
|
||||
contentRepository.Save(subpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var propertyGroup = contentType.PropertyGroups.First(x => x.Name == "Meta");
|
||||
propertyGroup.PropertyTypes.Add(new PropertyType("test", DataTypeDatabaseType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeDefinitionId = -88 });
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(contentType.PropertyTypes.Count(), Is.EqualTo(5));
|
||||
@@ -883,27 +883,27 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_Usage_Of_New_PropertyType_On_Content()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository repository;
|
||||
var contentRepository = CreateRepository(unitOfWork, out repository);
|
||||
var contentRepository = CreateRepository((IScopeAccessor) provider, out repository);
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
var subpage = MockedContent.CreateTextpageContent(contentType, "Text Page 1", contentType.Id);
|
||||
contentRepository.Save(subpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var propertyGroup = contentType.PropertyGroups.First(x => x.Name == "Meta");
|
||||
propertyGroup.PropertyTypes.Add(new PropertyType("test", DataTypeDatabaseType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeDefinitionId = -88 });
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var content = contentRepository.Get(subpage.Id);
|
||||
content.SetValue("metaAuthor", "John Doe");
|
||||
contentRepository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
var updated = contentRepository.Get(subpage.Id);
|
||||
@@ -917,16 +917,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_That_A_Combination_Of_Adding_And_Deleting_PropertyTypes_Doesnt_Cause_Issues_For_Content_And_ContentType()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository repository;
|
||||
var contentRepository = CreateRepository(unitOfWork, out repository);
|
||||
var contentRepository = CreateRepository((IScopeAccessor) provider, out repository);
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
|
||||
var subpage = MockedContent.CreateTextpageContent(contentType, "Text Page 1", contentType.Id);
|
||||
contentRepository.Save(subpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Remove PropertyType
|
||||
contentType.RemovePropertyType("keywords");
|
||||
@@ -934,13 +934,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var propertyGroup = contentType.PropertyGroups.First(x => x.Name == "Meta");
|
||||
propertyGroup.PropertyTypes.Add(new PropertyType("test", DataTypeDatabaseType.Ntext, "metaAuthor") { Name = "Meta Author", Description = "", Mandatory = false, SortOrder = 1, DataTypeDefinitionId = -88 });
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var content = contentRepository.Get(subpage.Id);
|
||||
content.SetValue("metaAuthor", "John Doe");
|
||||
contentRepository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
var updated = contentRepository.Get(subpage.Id);
|
||||
|
||||
@@ -6,12 +6,12 @@ using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Core.Composing;
|
||||
using Umbraco.Tests.Testing;
|
||||
using LightInject;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
|
||||
namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
@@ -57,38 +57,37 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
}
|
||||
|
||||
private IDataTypeDefinitionRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private IDataTypeDefinitionRepository CreateRepository()
|
||||
{
|
||||
return Container.GetInstance<IScopeUnitOfWork, IDataTypeDefinitionRepository>(unitOfWork);
|
||||
return Container.GetInstance<IDataTypeDefinitionRepository>();
|
||||
}
|
||||
|
||||
private EntityContainerRepository CreateContainerRepository(IScopeUnitOfWork unitOfWork)
|
||||
private EntityContainerRepository CreateContainerRepository(IScopeAccessor scopeAccessor)
|
||||
{
|
||||
return new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, Constants.ObjectTypes.DataTypeContainer);
|
||||
return new EntityContainerRepository(scopeAccessor, CacheHelper.CreateDisabledCacheHelper(), Logger, Constants.ObjectTypes.DataTypeContainer);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Move()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(accessor);
|
||||
var repository = CreateRepository();
|
||||
var container1 = new EntityContainer(Constants.ObjectTypes.DataType) { Name = "blah1" };
|
||||
containerRepository.Save(container1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var container2 = new EntityContainer(Constants.ObjectTypes.DataType) { Name = "blah2", ParentId = container1.Id };
|
||||
containerRepository.Save(container2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var dataType = (IDataTypeDefinition)new DataTypeDefinition(container2.Id, Constants.PropertyEditors.RadioButtonListAlias)
|
||||
{
|
||||
Name = "dt1"
|
||||
};
|
||||
repository.Save(dataType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//create a
|
||||
var dataType2 = (IDataTypeDefinition)new DataTypeDefinition(dataType.Id, Constants.PropertyEditors.RadioButtonListAlias)
|
||||
@@ -96,10 +95,8 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Name = "dt2"
|
||||
};
|
||||
repository.Save(dataType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var result = repository.Move(dataType, container1).ToArray();
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.AreEqual(2, result.Count());
|
||||
|
||||
@@ -111,19 +108,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreNotEqual(result.Single(x => x.Entity.Id == dataType.Id).OriginalPath, dataType.Path);
|
||||
Assert.AreNotEqual(result.Single(x => x.Entity.Id == dataType2.Id).OriginalPath, dataType2.Path);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Create_Container()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(accessor);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.DataType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.That(container.Id, Is.GreaterThan(0));
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
@@ -134,17 +132,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Delete_Container()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(accessor);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.DataType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Act
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
@@ -154,18 +152,18 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Create_Container_Containing_Data_Types()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(accessor);
|
||||
var repository = CreateRepository();
|
||||
var container = new EntityContainer(Constants.ObjectTypes.DataType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var dataTypeDefinition = new DataTypeDefinition(container.Id, Constants.PropertyEditors.RadioButtonListAlias) { Name = "test" };
|
||||
repository.Save(dataTypeDefinition);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.AreEqual(container.Id, dataTypeDefinition.ParentId);
|
||||
}
|
||||
@@ -174,22 +172,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Delete_Container_Containing_Data_Types()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(accessor);
|
||||
var repository = CreateRepository();
|
||||
var container = new EntityContainer(Constants.ObjectTypes.DataType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
IDataTypeDefinition dataType = new DataTypeDefinition(container.Id, Constants.PropertyEditors.RadioButtonListAlias) { Name = "test" };
|
||||
repository.Save(dataType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Act
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
@@ -203,15 +200,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Create()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
IDataTypeDefinition dataTypeDefinition = new DataTypeDefinition(-1, Constants.PropertyEditors.RadioButtonListAlias) {Name = "test"};
|
||||
|
||||
repository.Save(dataTypeDefinition);
|
||||
|
||||
unitOfWork.Flush();
|
||||
var id = dataTypeDefinition.Id;
|
||||
Assert.That(id, Is.GreaterThan(0));
|
||||
|
||||
@@ -228,11 +226,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Get_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
// Act
|
||||
var dataTypeDefinition = repository.Get(-42);
|
||||
|
||||
@@ -246,11 +245,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_GetAll_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var dataTypeDefinitions = repository.GetMany();
|
||||
@@ -266,11 +266,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_GetAll_With_Params_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var dataTypeDefinitions = repository.GetMany(-40, -41, -42);
|
||||
@@ -286,14 +287,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_GetByQuery_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IDataTypeDefinition>().Where(x => x.PropertyEditorAlias == Constants.PropertyEditors.RadioButtonListAlias);
|
||||
var query = scope.SqlContext.Query<IDataTypeDefinition>().Where(x => x.PropertyEditorAlias == Constants.PropertyEditors.RadioButtonListAlias);
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -306,14 +308,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Count_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IDataTypeDefinition>().Where(x => x.Name.StartsWith("D"));
|
||||
var query = scope.SqlContext.Query<IDataTypeDefinition>().Where(x => x.Name.StartsWith("D"));
|
||||
int count = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
@@ -324,11 +327,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Add_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dataTypeDefinition = new DataTypeDefinition("Test.TestEditor")
|
||||
{
|
||||
DatabaseType = DataTypeDatabaseType.Integer,
|
||||
@@ -338,7 +342,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
// Act
|
||||
repository.Save(dataTypeDefinition);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var exists = repository.Exists(dataTypeDefinition.Id);
|
||||
|
||||
var fetched = repository.Get(dataTypeDefinition.Id);
|
||||
@@ -354,11 +358,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Update_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dataTypeDefinition = new DataTypeDefinition("Test.blah")
|
||||
{
|
||||
DatabaseType = DataTypeDatabaseType.Integer,
|
||||
@@ -366,14 +371,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreatorId = 0
|
||||
};
|
||||
repository.Save(dataTypeDefinition);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Act
|
||||
var definition = repository.Get(dataTypeDefinition.Id);
|
||||
definition.Name = "AgeDataType Updated";
|
||||
definition.PropertyEditorAlias = "Test.TestEditor"; //change
|
||||
repository.Save(definition);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var definitionUpdated = repository.Get(dataTypeDefinition.Id);
|
||||
|
||||
@@ -387,11 +390,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Delete_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dataTypeDefinition = new DataTypeDefinition("Test.TestEditor")
|
||||
{
|
||||
DatabaseType = DataTypeDatabaseType.Integer,
|
||||
@@ -401,11 +405,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
// Act
|
||||
repository.Save(dataTypeDefinition);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var existsBefore = repository.Exists(dataTypeDefinition.Id);
|
||||
|
||||
repository.Delete(dataTypeDefinition);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var existsAfter = repository.Exists(dataTypeDefinition.Id);
|
||||
|
||||
@@ -418,11 +421,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Exists_On_DataTypeDefinitionRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(1046); //Content picker
|
||||
@@ -437,17 +441,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Pre_Value_Collection()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dataTypeDefinition = new DataTypeDefinition(-1, Constants.PropertyEditors.RadioButtonListAlias) { Name = "test" };
|
||||
repository.Save(dataTypeDefinition);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var dtid = dataTypeDefinition.Id;
|
||||
|
||||
unitOfWork.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtid, SortOrder = 0, Value = "test1"});
|
||||
unitOfWork.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtid, SortOrder = 1, Value = "test2" });
|
||||
scope.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtid, SortOrder = 0, Value = "test1"});
|
||||
scope.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtid, SortOrder = 1, Value = "test2" });
|
||||
|
||||
var collection = repository.GetPreValuesCollectionByDataTypeId(dtid);
|
||||
Assert.AreEqual(2, collection.PreValuesAsArray.Count());
|
||||
@@ -457,17 +463,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Pre_Value_As_String()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dataTypeDefinition = new DataTypeDefinition(-1, Constants.PropertyEditors.RadioButtonListAlias) { Name = "test" };
|
||||
repository.Save(dataTypeDefinition);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var dtid = dataTypeDefinition.Id;
|
||||
|
||||
var id = unitOfWork.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtid, SortOrder = 0, Value = "test1" });
|
||||
unitOfWork.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtid, SortOrder = 1, Value = "test2" });
|
||||
var id = scope.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtid, SortOrder = 0, Value = "test1" });
|
||||
scope.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtid, SortOrder = 1, Value = "test2" });
|
||||
|
||||
var val = repository.GetPreValueAsString(Convert.ToInt32(id));
|
||||
Assert.AreEqual("test1", val);
|
||||
@@ -477,17 +485,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Pre_Value_Collection_With_Cache()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
DataTypeDefinition dtd;
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = Container.GetInstance<IScopeUnitOfWork, IDataTypeDefinitionRepository>(unitOfWork);
|
||||
var repository = Container.GetInstance<IDataTypeDefinitionRepository>();
|
||||
dtd = new DataTypeDefinition(-1, Constants.PropertyEditors.RadioButtonListAlias) { Name = "test" };
|
||||
repository.Save(dtd);
|
||||
unitOfWork.Flush();
|
||||
|
||||
unitOfWork.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtd.Id, SortOrder = 0, Value = "test1" });
|
||||
unitOfWork.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtd.Id, SortOrder = 1, Value = "test2" });
|
||||
scope.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtd.Id, SortOrder = 0, Value = "test1" });
|
||||
scope.Database.Insert(new DataTypePreValueDto { DataTypeNodeId = dtd.Id, SortOrder = 1, Value = "test2" });
|
||||
|
||||
//this will cache the result
|
||||
var collection = repository.GetPreValuesCollectionByDataTypeId(dtd.Id);
|
||||
@@ -507,18 +517,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Pre_Value_As_String_With_Cache()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
DataTypeDefinition dtd;
|
||||
object id;
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = Container.GetInstance<IScopeUnitOfWork, IDataTypeDefinitionRepository>(unitOfWork);
|
||||
var repository = Container.GetInstance<IDataTypeDefinitionRepository>();
|
||||
dtd = new DataTypeDefinition(-1, Constants.PropertyEditors.RadioButtonListAlias) { Name = "test" };
|
||||
repository.Save(dtd);
|
||||
unitOfWork.Flush();
|
||||
|
||||
id = unitOfWork.Database.Insert(new DataTypePreValueDto() { DataTypeNodeId = dtd.Id, SortOrder = 0, Value = "test1" });
|
||||
unitOfWork.Database.Insert(new DataTypePreValueDto() { DataTypeNodeId = dtd.Id, SortOrder = 1, Value = "test2" });
|
||||
id = scope.Database.Insert(new DataTypePreValueDto() { DataTypeNodeId = dtd.Id, SortOrder = 0, Value = "test1" });
|
||||
scope.Database.Insert(new DataTypePreValueDto() { DataTypeNodeId = dtd.Id, SortOrder = 1, Value = "test2" });
|
||||
|
||||
//this will cache the result
|
||||
var val = repository.GetPreValueAsString(Convert.ToInt32(id));
|
||||
@@ -534,9 +546,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(1, cached.Count());
|
||||
Assert.AreEqual(2, cached.Single().FormatAsDictionary().Count);
|
||||
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = Container.GetInstance<IScopeUnitOfWork, IDataTypeDefinitionRepository>(unitOfWork);
|
||||
var repository = Container.GetInstance<IDataTypeDefinitionRepository>();
|
||||
//ensure it still gets resolved!
|
||||
var val = repository.GetPreValueAsString(Convert.ToInt32(id));
|
||||
Assert.AreEqual("test1", val);
|
||||
|
||||
@@ -4,10 +4,10 @@ using System.Linq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
using LightInject;
|
||||
using Umbraco.Core.Scoping;
|
||||
|
||||
namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
@@ -22,19 +22,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData();
|
||||
}
|
||||
|
||||
private IDictionaryRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private IDictionaryRepository CreateRepository()
|
||||
{
|
||||
return Container.GetInstance<IScopeUnitOfWork, IDictionaryRepository>(unitOfWork);
|
||||
return Container.GetInstance<IDictionaryRepository>();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Perform_Get_By_Key_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235")
|
||||
{
|
||||
Translations = new List<IDictionaryTranslation>
|
||||
@@ -44,7 +44,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
};
|
||||
|
||||
repository.Save(dictionaryItem);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
dictionaryItem = repository.Get("Testing1235");
|
||||
@@ -63,10 +62,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_By_UniqueId_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235")
|
||||
{
|
||||
Translations = new List<IDictionaryTranslation>
|
||||
@@ -76,7 +75,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
};
|
||||
|
||||
repository.Save(dictionaryItem);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
dictionaryItem = repository.Get(dictionaryItem.Key);
|
||||
@@ -88,17 +86,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.That(dictionaryItem.Translations.Any(x => x == null), Is.False);
|
||||
Assert.That(dictionaryItem.Translations.First().Value, Is.EqualTo("Hello world"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Perform_Get_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235")
|
||||
{
|
||||
Translations = new List<IDictionaryTranslation>
|
||||
@@ -108,7 +105,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
};
|
||||
|
||||
repository.Save(dictionaryItem);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
dictionaryItem = repository.Get(dictionaryItem.Id);
|
||||
@@ -128,14 +124,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_DictionaryRepository_When_No_Language_Assigned()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
var dictionaryItem = (IDictionaryItem) new DictionaryItem("Testing1235");
|
||||
|
||||
repository.Save(dictionaryItem);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
dictionaryItem = repository.Get(dictionaryItem.Id);
|
||||
@@ -153,10 +148,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var dictionaryItem = repository.Get(1);
|
||||
@@ -174,10 +169,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_With_Params_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var dictionaryItems = repository.GetMany(1, 2);
|
||||
@@ -194,13 +189,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetByQuery_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IDictionaryItem>().Where(x => x.ItemKey == "Article");
|
||||
var query = scope.SqlContext.Query<IDictionaryItem>().Where(x => x.ItemKey == "Article");
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -214,13 +209,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Count_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IDictionaryItem>().Where(x => x.ItemKey.StartsWith("Read"));
|
||||
var query = scope.SqlContext.Query<IDictionaryItem>().Where(x => x.ItemKey.StartsWith("Read"));
|
||||
var result = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
@@ -232,11 +227,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var languageRepository = Container.GetInstance<IScopeUnitOfWork, ILanguageRepository>(unitOfWork);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var languageRepository = Container.GetInstance<ILanguageRepository>();
|
||||
var repository = CreateRepository();
|
||||
|
||||
var language = languageRepository.Get(1);
|
||||
|
||||
@@ -249,7 +244,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
// Act
|
||||
repository.Save(read);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var exists = repository.Exists(read.Id);
|
||||
|
||||
@@ -263,10 +257,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var item = repository.Get(1);
|
||||
@@ -275,7 +269,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
item.Translations = translations;
|
||||
|
||||
repository.Save(item);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var dictionaryItem = repository.Get(1);
|
||||
|
||||
@@ -290,10 +283,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_WithNewTranslation_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
var languageNo = new Language("nb-NO") { CultureName = "nb-NO" };
|
||||
ServiceContext.LocalizationService.Save(languageNo);
|
||||
@@ -305,7 +298,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
item.Translations = translations;
|
||||
|
||||
repository.Save(item);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var dictionaryItem = (DictionaryItem) repository.Get(1);
|
||||
|
||||
@@ -320,15 +312,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var item = repository.Get(1);
|
||||
repository.Delete(item);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var exists = repository.Exists(1);
|
||||
|
||||
@@ -341,10 +332,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_DictionaryRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(1);
|
||||
@@ -359,10 +350,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
Dictionary<string, Guid> keyMap;
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository();
|
||||
keyMap = repository.GetDictionaryItemKeyMap();
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -19,27 +19,28 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
|
||||
public class DomainRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
private DomainRepository CreateRepository(IScopeUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository, out DocumentRepository documentRepository, out LanguageRepository languageRepository)
|
||||
private DomainRepository CreateRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository, out DocumentRepository documentRepository, out LanguageRepository languageRepository)
|
||||
{
|
||||
var templateRepository = new TemplateRepository(unitOfWork, DisabledCache, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepository = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(unitOfWork, DisabledCache, Logger, templateRepository);
|
||||
documentRepository = new DocumentRepository(unitOfWork, DisabledCache, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
languageRepository = new LanguageRepository(unitOfWork, DisabledCache, Logger);
|
||||
var domainRepository = new DomainRepository(unitOfWork, DisabledCache, Logger);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
var templateRepository = new TemplateRepository(accessor, DisabledCache, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepository = new TagRepository(accessor, DisabledCache, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(accessor, DisabledCache, Logger, templateRepository);
|
||||
documentRepository = new DocumentRepository(accessor, DisabledCache, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
languageRepository = new LanguageRepository(accessor, DisabledCache, Logger);
|
||||
var domainRepository = new DomainRepository(accessor, DisabledCache, Logger);
|
||||
return domainRepository;
|
||||
}
|
||||
|
||||
private int CreateTestData(string isoName, out ContentType ct)
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = new Language(isoName);
|
||||
langRepo.Save(lang);
|
||||
@@ -48,7 +49,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
contentTypeRepo.Save(ct);
|
||||
var content = new Content("test", -1, ct) { CreatorId = 0, WriterId = 0 };
|
||||
documentRepo.Save(content);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
return content.Id;
|
||||
}
|
||||
}
|
||||
@@ -59,21 +60,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = langRepo.GetByIsoCode("en-AU");
|
||||
var content = documentRepo.Get(contentId);
|
||||
|
||||
var domain = (IDomain)new UmbracoDomain("test.com") { RootContentId = content.Id, LanguageId = lang.Id };
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
domain = repo.Get(domain.Id);
|
||||
@@ -94,20 +94,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var content = documentRepo.Get(contentId);
|
||||
|
||||
var domain = (IDomain)new UmbracoDomain("test.com") { RootContentId = content.Id };
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
domain = repo.Get(domain.Id);
|
||||
@@ -127,26 +126,24 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = langRepo.GetByIsoCode("en-AU");
|
||||
var content = documentRepo.Get(contentId);
|
||||
|
||||
var domain1 = (IDomain)new UmbracoDomain("test.com") { RootContentId = content.Id, LanguageId = lang.Id };
|
||||
repo.Save(domain1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var domain2 = (IDomain)new UmbracoDomain("test.com") { RootContentId = content.Id, LanguageId = lang.Id };
|
||||
repo.Save(domain2);
|
||||
|
||||
Assert.Throws<DuplicateNameException>(unitOfWork.Flush);
|
||||
Assert.Throws<DuplicateNameException>(() => repo.Save(domain2));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,24 +153,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = langRepo.GetByIsoCode("en-AU");
|
||||
var content = documentRepo.Get(contentId);
|
||||
|
||||
var domain = (IDomain)new UmbracoDomain("test.com") { RootContentId = content.Id, LanguageId = lang.Id };
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
|
||||
repo.Delete(domain);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
domain = repo.Get(domain.Id);
|
||||
@@ -189,14 +184,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId1 = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var content1 = documentRepo.Get(contentId1);
|
||||
|
||||
@@ -206,12 +201,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
langRepo.Save(lang2);
|
||||
var content2 = new Content("test", -1, ct) { CreatorId = 0, WriterId = 0 };
|
||||
documentRepo.Save(content2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var domain = (IDomain)new UmbracoDomain("test.com") { RootContentId = content1.Id, LanguageId = lang1.Id };
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
domain = repo.Get(domain.Id);
|
||||
@@ -220,7 +213,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
domain.RootContentId = content2.Id;
|
||||
domain.LanguageId = lang2.Id;
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
domain = repo.Get(domain.Id);
|
||||
@@ -239,14 +231,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = langRepo.GetByIsoCode("en-AU");
|
||||
var content = documentRepo.Get(contentId);
|
||||
@@ -255,7 +247,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var domain = (IDomain)new UmbracoDomain("test" + i + ".com") { RootContentId = content.Id, LanguageId = lang.Id };
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
}
|
||||
|
||||
var found = repo.Exists("test1.com");
|
||||
@@ -270,14 +261,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = langRepo.GetByIsoCode("en-AU");
|
||||
var content = documentRepo.Get(contentId);
|
||||
@@ -286,7 +277,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var domain = (IDomain)new UmbracoDomain("test" + i + ".com") { RootContentId = content.Id, LanguageId = lang.Id };
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
}
|
||||
|
||||
var found = repo.GetByName("test1.com");
|
||||
@@ -301,14 +291,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = langRepo.GetByIsoCode("en-AU");
|
||||
var content = documentRepo.Get(contentId);
|
||||
@@ -317,7 +307,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var domain = (IDomain)new UmbracoDomain("test " + i + ".com") { RootContentId = content.Id, LanguageId = lang.Id };
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
}
|
||||
|
||||
var all = repo.GetMany();
|
||||
@@ -332,14 +321,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = langRepo.GetByIsoCode("en-AU");
|
||||
var content = documentRepo.Get(contentId);
|
||||
@@ -349,7 +338,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var domain = (IDomain)new UmbracoDomain("test " + i + ".com") { RootContentId = content.Id, LanguageId = lang.Id };
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
ids.Add(domain.Id);
|
||||
}
|
||||
|
||||
@@ -365,14 +353,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var lang = langRepo.GetByIsoCode("en-AU");
|
||||
var content = documentRepo.Get(contentId);
|
||||
@@ -385,7 +373,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
LanguageId = lang.Id
|
||||
};
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
}
|
||||
|
||||
var all = repo.GetAll(false);
|
||||
@@ -400,14 +387,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var contentItems = new List<IContent>();
|
||||
|
||||
@@ -419,7 +406,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var c = new Content("test" + i, -1, ct) { CreatorId = 0, WriterId = 0 };
|
||||
documentRepo.Save(c);
|
||||
unitOfWork.Flush();
|
||||
contentItems.Add(c);
|
||||
}
|
||||
|
||||
@@ -431,7 +417,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
LanguageId = lang.Id
|
||||
};
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
}
|
||||
|
||||
var all1 = repo.GetAssignedDomains(contentItems[0].Id, true);
|
||||
@@ -451,14 +436,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
ContentType ct;
|
||||
var contentId = CreateTestData("en-AU", out ct);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
DocumentRepository documentRepo;
|
||||
LanguageRepository langRepo;
|
||||
ContentTypeRepository contentTypeRepo;
|
||||
|
||||
var repo = CreateRepository(unitOfWork, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
var repo = CreateRepository(provider, out contentTypeRepo, out documentRepo, out langRepo);
|
||||
|
||||
var contentItems = new List<IContent>();
|
||||
|
||||
@@ -470,7 +455,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var c = new Content("test" + i, -1, ct) { CreatorId = 0, WriterId = 0 };
|
||||
documentRepo.Save(c);
|
||||
unitOfWork.Flush();
|
||||
contentItems.Add(c);
|
||||
}
|
||||
|
||||
@@ -482,7 +466,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
LanguageId = lang.Id
|
||||
};
|
||||
repo.Save(domain);
|
||||
unitOfWork.Flush();
|
||||
}
|
||||
|
||||
var all1 = repo.GetAssignedDomains(contentItems[0].Id, false);
|
||||
|
||||
@@ -11,7 +11,7 @@ using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Querying;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -28,9 +28,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData();
|
||||
}
|
||||
|
||||
private LanguageRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private LanguageRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
return new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
return new LanguageRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
}
|
||||
|
||||
|
||||
@@ -39,11 +39,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var language = repository.Get(1);
|
||||
@@ -59,10 +59,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Get_By_Iso_Code_On_LanguageRepository()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var au = CultureInfo.GetCultureInfo("en-AU");
|
||||
var language = (ILanguage)new Language(au.Name)
|
||||
@@ -70,7 +70,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CultureName = au.DisplayName
|
||||
};
|
||||
repository.Save(language);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
language = repository.GetByIsoCode(au.Name);
|
||||
@@ -86,10 +85,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Get_By_Culture_Name_On_LanguageRepository()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var au = CultureInfo.GetCultureInfo("en-AU");
|
||||
var language = (ILanguage)new Language(au.Name)
|
||||
@@ -97,7 +96,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CultureName = au.DisplayName
|
||||
};
|
||||
repository.Save(language);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//re-get
|
||||
language = repository.GetByCultureName(au.DisplayName);
|
||||
@@ -114,10 +112,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Get_WhenIdDoesntExist_ReturnsNull()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var language = repository.Get(0);
|
||||
@@ -131,10 +129,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var languages = repository.GetMany();
|
||||
@@ -151,10 +149,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_With_Params_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var languages = repository.GetMany(1, 2);
|
||||
@@ -171,13 +169,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetByQuery_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<ILanguage>().Where(x => x.IsoCode == "da-DK");
|
||||
var query = scope.SqlContext.Query<ILanguage>().Where(x => x.IsoCode == "da-DK");
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -191,13 +189,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Count_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<ILanguage>().Where(x => x.IsoCode.StartsWith("D"));
|
||||
var query = scope.SqlContext.Query<ILanguage>().Where(x => x.IsoCode.StartsWith("D"));
|
||||
int count = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
@@ -209,15 +207,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var languageBR = new Language("pt-BR") {CultureName = "pt-BR"};
|
||||
repository.Save(languageBR);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
Assert.That(languageBR.HasIdentity, Is.True);
|
||||
@@ -229,10 +226,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var language = repository.Get(5);
|
||||
@@ -240,7 +237,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
language.CultureName = "pt-BR";
|
||||
|
||||
repository.Save(language);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var languageUpdated = repository.Get(5);
|
||||
|
||||
@@ -255,15 +251,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var language = repository.Get(3);
|
||||
repository.Delete(language);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var exists = repository.Exists(3);
|
||||
|
||||
@@ -276,10 +271,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_LanguageRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(3);
|
||||
|
||||
@@ -11,7 +11,7 @@ using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Querying;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -32,15 +32,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Cannot_Add_Duplicate_Macros()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
var macro = new Macro("test1", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml");
|
||||
repository.Save(macro);
|
||||
;
|
||||
|
||||
Assert.Throws<SqlCeException>(unitOfWork.Flush);
|
||||
Assert.Throws<SqlCeException>(() => repository.Save(macro));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -49,15 +49,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Cannot_Update_To_Duplicate_Macro_Alias()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
var macro = repository.Get(1);
|
||||
macro.Alias = "test2";
|
||||
repository.Save(macro);
|
||||
Assert.Throws<SqlCeException>(unitOfWork.Flush);
|
||||
|
||||
Assert.Throws<SqlCeException>(() => repository.Save(macro));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -66,10 +66,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Instantiate_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Assert
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
@@ -80,10 +80,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
var macro = repository.Get(1);
|
||||
@@ -111,10 +111,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
var macros = repository.GetMany();
|
||||
@@ -129,13 +129,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetByQuery_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMacro>().Where(x => x.Alias.ToUpper() == "TEST1");
|
||||
var query = scope.SqlContext.Query<IMacro>().Where(x => x.Alias.ToUpper() == "TEST1");
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -147,13 +147,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Count_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMacro>().Where(x => x.Name.StartsWith("Test"));
|
||||
var query = scope.SqlContext.Query<IMacro>().Where(x => x.Name.StartsWith("Test"));
|
||||
int count = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
@@ -165,16 +165,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
var macro = new Macro("test", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml");
|
||||
macro.Properties.Add(new MacroProperty("test", "Test", 0, "test"));
|
||||
repository.Save(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
Assert.That(macro.HasIdentity, Is.True);
|
||||
@@ -187,10 +186,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
var macro = repository.Get(2);
|
||||
@@ -206,7 +205,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
macro.XsltPath = "";
|
||||
|
||||
repository.Save(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var macroUpdated = repository.Get(2);
|
||||
|
||||
@@ -229,16 +227,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
var macro = repository.Get(3);
|
||||
Assert.IsNotNull(macro);
|
||||
repository.Delete(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var exists = repository.Exists(3);
|
||||
|
||||
@@ -251,10 +248,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(3);
|
||||
@@ -270,17 +267,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Add_Property_For_Macro()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
var macro = repository.Get(1);
|
||||
macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
|
||||
|
||||
repository.Save(macro);
|
||||
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
Assert.Greater(macro.Properties.First().Id, 0); //ensure id is returned
|
||||
@@ -298,17 +294,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Add_New_Macro_With_Property()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
|
||||
macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor"));
|
||||
|
||||
repository.Save(macro);
|
||||
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
var result = repository.Get(macro.Id);
|
||||
@@ -324,20 +319,18 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Remove_Macro_Property()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
|
||||
macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor"));
|
||||
repository.Save(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var result = repository.Get(macro.Id);
|
||||
result.Properties.Remove("blah1");
|
||||
repository.Save(result);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
result = repository.Get(macro.Id);
|
||||
@@ -350,10 +343,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Add_Remove_Macro_Properties()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
|
||||
var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor");
|
||||
@@ -367,7 +360,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
macro.Properties.Add(prop2);
|
||||
|
||||
repository.Save(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
var result = repository.Get(macro.Id);
|
||||
@@ -382,21 +374,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Update_Property_For_Macro()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
var macro = repository.Get(1);
|
||||
macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
|
||||
repository.Save(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//Act
|
||||
macro = repository.Get(1);
|
||||
macro.Properties["new1"].Name = "this is a new name";
|
||||
repository.Save(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
@@ -411,21 +401,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Update_Macro_Property_Alias()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
var macro = repository.Get(1);
|
||||
macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
|
||||
repository.Save(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
//Act
|
||||
macro = repository.Get(1);
|
||||
macro.Properties.UpdateProperty("new1", newAlias: "newAlias");
|
||||
repository.Save(macro);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
var result = repository.Get(1);
|
||||
@@ -441,15 +429,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
public void CreateTestData()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
repository.Save(new Macro("test1", "Test1", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml"));
|
||||
repository.Save(new Macro("test2", "Test2", "~/usercontrol/test2.ascx", "MyAssembly2", "test2.xslt", "~/views/macropartials/test2.cshtml"));
|
||||
repository.Save(new Macro("test3", "Tet3", "~/usercontrol/test3.ascx", "MyAssembly3", "test3.xslt", "~/views/macropartials/test3.cshtml"));
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,11 +9,11 @@ using Umbraco.Core.Models.EntityBase;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
namespace Umbraco.Tests.Persistence.Repositories
|
||||
@@ -29,13 +29,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData();
|
||||
}
|
||||
|
||||
private MediaRepository CreateRepository(IScopeUnitOfWork unitOfWork, out MediaTypeRepository mediaTypeRepository, CacheHelper cacheHelper = null)
|
||||
private MediaRepository CreateRepository(IScopeProvider provider, out MediaTypeRepository mediaTypeRepository, CacheHelper cacheHelper = null)
|
||||
{
|
||||
cacheHelper = cacheHelper ?? CacheHelper;
|
||||
var scopeAccessor = (IScopeAccessor) provider;
|
||||
|
||||
mediaTypeRepository = new MediaTypeRepository(unitOfWork, cacheHelper, Logger);
|
||||
var tagRepository = new TagRepository(unitOfWork, cacheHelper, Logger);
|
||||
var repository = new MediaRepository(unitOfWork, cacheHelper, Logger, mediaTypeRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
mediaTypeRepository = new MediaTypeRepository(scopeAccessor, cacheHelper, Logger);
|
||||
var tagRepository = new TagRepository(scopeAccessor, cacheHelper, Logger);
|
||||
var repository = new MediaRepository(scopeAccessor, cacheHelper, Logger, mediaTypeRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
|
||||
@@ -50,12 +51,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
new StaticCacheProvider(),
|
||||
new IsolatedRuntimeCache(t => new ObjectCacheRuntimeCacheProvider()));
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository, cacheHelper: realCache);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository, cacheHelper: realCache);
|
||||
|
||||
var udb = (UmbracoDatabase)unitOfWork.Database;
|
||||
var udb = (UmbracoDatabase)scope.Database;
|
||||
|
||||
udb.EnableSqlCount = false;
|
||||
|
||||
@@ -63,7 +64,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var media = MockedMedia.CreateSimpleMedia(mediaType, "hello", -1);
|
||||
mediaTypeRepository.Save(mediaType);
|
||||
repository.Save(media);
|
||||
unitOfWork.Complete();
|
||||
|
||||
udb.EnableSqlCount = true;
|
||||
|
||||
@@ -92,11 +92,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void SaveMedia()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
var mediaType = mediaTypeRepository.Get(1032);
|
||||
var image = MockedMedia.CreateMediaImage(mediaType, -1);
|
||||
@@ -104,7 +104,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
// Act
|
||||
mediaTypeRepository.Save(mediaType);
|
||||
repository.Save(image);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var fetched = repository.Get(image.Id);
|
||||
|
||||
@@ -120,22 +119,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void SaveMediaMultiple()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
var mediaType = mediaTypeRepository.Get(1032);
|
||||
var file = MockedMedia.CreateMediaFile(mediaType, -1);
|
||||
|
||||
// Act
|
||||
repository.Save(file);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var image = MockedMedia.CreateMediaImage(mediaType, -1);
|
||||
repository.Save(image);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
Assert.That(file.HasIdentity, Is.True);
|
||||
@@ -151,11 +148,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetMediaIsNotDirty()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var media = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
@@ -170,17 +167,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void UpdateMedia()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var content = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
content.Name = "Test File Updated";
|
||||
repository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var updatedContent = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
|
||||
@@ -194,16 +190,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void DeleteMedia()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var media = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
repository.Delete(media);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var deleted = repository.Get(NodeDto.NodeIdSeed + 2);
|
||||
var exists = repository.Exists(NodeDto.NodeIdSeed + 2);
|
||||
@@ -218,11 +213,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetMedia()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var media = repository.Get(NodeDto.NodeIdSeed + 1);
|
||||
@@ -245,14 +240,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void QueryMedia()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -265,10 +260,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
// Arrange
|
||||
var folderMediaType = ServiceContext.MediaTypeService.Get(1031);
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out MediaTypeRepository mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out MediaTypeRepository mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
for (int i = 0; i < 10; i++)
|
||||
@@ -276,10 +271,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var folder = MockedMedia.CreateMediaFolder(folderMediaType, -1);
|
||||
repository.Save(folder);
|
||||
}
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var types = new[] { 1031 };
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => types.Contains(x.ContentTypeId));
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => types.Contains(x.ContentTypeId));
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -296,10 +291,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
// Arrange
|
||||
var folderMediaType = ServiceContext.MediaTypeService.Get(1031);
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out MediaTypeRepository mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out MediaTypeRepository mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
for (int i = 0; i < 10; i++)
|
||||
@@ -307,10 +302,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var folder = MockedMedia.CreateMediaFolder(folderMediaType, -1);
|
||||
repository.Save(folder);
|
||||
}
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var types = new[] { "Folder" };
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => types.Contains(x.ContentType.Alias));
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => types.Contains(x.ContentType.Alias));
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -322,13 +317,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetPagedResultsByQuery_FirstPage()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, out MediaTypeRepository mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out MediaTypeRepository mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
long totalRecords;
|
||||
var result = repository.GetPage(query, 0, 1, out totalRecords, "SortOrder", Direction.Ascending, true);
|
||||
|
||||
@@ -343,14 +338,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetPagedResultsByQuery_SecondPage()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
long totalRecords;
|
||||
var result = repository.GetPage(query, 1, 1, out totalRecords, "SortOrder", Direction.Ascending, true);
|
||||
|
||||
@@ -365,14 +360,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetPagedResultsByQuery_SinglePage()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
long totalRecords;
|
||||
var result = repository.GetPage(query, 0, 2, out totalRecords, "SortOrder", Direction.Ascending, true);
|
||||
|
||||
@@ -387,14 +382,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetPagedResultsByQuery_DescendingOrder()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
long totalRecords;
|
||||
var result = repository.GetPage(query, 0, 1, out totalRecords, "SortOrder", Direction.Descending, true);
|
||||
|
||||
@@ -409,14 +404,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetPagedResultsByQuery_AlternateOrder()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
long totalRecords;
|
||||
var result = repository.GetPage(query, 0, 1, out totalRecords, "Name", Direction.Ascending, true);
|
||||
|
||||
@@ -431,17 +426,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetPagedResultsByQuery_FilterMatchingSome()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
long totalRecords;
|
||||
|
||||
var filter = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Name.Contains("File"));
|
||||
var filter = scope.SqlContext.Query<IMedia>().Where(x => x.Name.Contains("File"));
|
||||
var result = repository.GetPage(query, 0, 1, out totalRecords, "SortOrder", Direction.Ascending, true, filter);
|
||||
|
||||
// Assert
|
||||
@@ -455,17 +450,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetPagedResultsByQuery_FilterMatchingAll()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == 2);
|
||||
long totalRecords;
|
||||
|
||||
var filter = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Name.Contains("Test"));
|
||||
var filter = scope.SqlContext.Query<IMedia>().Where(x => x.Name.Contains("Test"));
|
||||
var result = repository.GetPage(query, 0, 1, out totalRecords, "SortOrder", Direction.Ascending, true, filter);
|
||||
|
||||
// Assert
|
||||
@@ -479,11 +474,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetAllMediaByIds()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var medias = repository.GetMany(NodeDto.NodeIdSeed + 1, NodeDto.NodeIdSeed + 2);
|
||||
@@ -499,11 +494,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void GetAllMedia()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var medias = repository.GetMany();
|
||||
@@ -529,11 +524,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void ExistMedia()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(NodeDto.NodeIdSeed + 1);
|
||||
@@ -551,15 +546,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void CountMedia()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out mediaTypeRepository);
|
||||
var repository = CreateRepository(provider, out mediaTypeRepository);
|
||||
|
||||
// Act
|
||||
int level = 2;
|
||||
var query = unitOfWork.SqlContext.Query<IMedia>().Where(x => x.Level == level);
|
||||
var query = scope.SqlContext.Query<IMedia>().Where(x => x.Level == level);
|
||||
var result = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
|
||||
@@ -7,7 +7,7 @@ using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -18,38 +18,38 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
|
||||
public class MediaTypeRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
private MediaTypeRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private MediaTypeRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
return new MediaTypeRepository(unitOfWork, DisabledCache, Logger);
|
||||
return new MediaTypeRepository((IScopeAccessor) provider, DisabledCache, Logger);
|
||||
}
|
||||
|
||||
private EntityContainerRepository CreateContainerRepository(IScopeUnitOfWork unitOfWork)
|
||||
private EntityContainerRepository CreateContainerRepository(IScopeProvider provider)
|
||||
{
|
||||
return new EntityContainerRepository(unitOfWork, DisabledCache, Logger, Constants.ObjectTypes.MediaTypeContainer);
|
||||
return new EntityContainerRepository((IScopeAccessor) provider, DisabledCache, Logger, Constants.ObjectTypes.MediaTypeContainer);
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Move()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(provider);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var container1 = new EntityContainer(Constants.ObjectTypes.MediaType) { Name = "blah1" };
|
||||
containerRepository.Save(container1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var container2 = new EntityContainer(Constants.ObjectTypes.MediaType) { Name = "blah2", ParentId = container1.Id };
|
||||
containerRepository.Save(container2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType = (IMediaType)MockedContentTypes.CreateVideoMediaType();
|
||||
contentType.ParentId = container2.Id;
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//create a
|
||||
var contentType2 = (IMediaType)new MediaType(contentType, "hello")
|
||||
@@ -58,10 +58,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
};
|
||||
contentType.ParentId = contentType.Id;
|
||||
repository.Save(contentType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var result = repository.Move(contentType, container1).ToArray();
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
Assert.AreEqual(2, result.Length);
|
||||
|
||||
@@ -79,14 +79,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Create_Container()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(provider);
|
||||
|
||||
var container = new EntityContainer(Constants.ObjectTypes.MediaType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.That(container.Id, Is.GreaterThan(0));
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
@@ -97,19 +97,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Delete_Container()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(provider);
|
||||
|
||||
var container = new EntityContainer(Constants.ObjectTypes.MediaType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.That(container.Id, Is.GreaterThan(0));
|
||||
|
||||
// Act
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
@@ -119,20 +119,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Create_Container_Containing_Media_Types()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(provider);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var container = new EntityContainer(Constants.ObjectTypes.MediaType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType = MockedContentTypes.CreateVideoMediaType();
|
||||
contentType.ParentId = container.Id;
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
Assert.AreEqual(container.Id, contentType.ParentId);
|
||||
}
|
||||
@@ -141,24 +141,24 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Delete_Container_Containing_Media_Types()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var containerRepository = CreateContainerRepository(unitOfWork);
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var containerRepository = CreateContainerRepository(provider);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var container = new EntityContainer(Constants.ObjectTypes.MediaType) { Name = "blah" };
|
||||
containerRepository.Save(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
IMediaType contentType = MockedContentTypes.CreateVideoMediaType();
|
||||
contentType.ParentId = container.Id;
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
@@ -173,15 +173,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_MediaTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var contentType = MockedContentTypes.CreateVideoMediaType();
|
||||
repository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var fetched = repository.Get(contentType.Id);
|
||||
|
||||
@@ -201,14 +201,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_MediaTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var videoMediaType = MockedContentTypes.CreateVideoMediaType();
|
||||
repository.Save(videoMediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var mediaType = repository.Get(NodeDto.NodeIdSeed);
|
||||
@@ -223,7 +223,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
DataTypeDefinitionId = -88
|
||||
});
|
||||
repository.Save(mediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var dirty = ((MediaType) mediaType).IsDirty();
|
||||
|
||||
@@ -239,19 +239,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_MediaTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var mediaType = MockedContentTypes.CreateVideoMediaType();
|
||||
repository.Save(mediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType2 = repository.Get(mediaType.Id);
|
||||
repository.Delete(contentType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var exists = repository.Exists(mediaType.Id);
|
||||
|
||||
@@ -264,10 +264,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_MediaTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var mediaType = repository.Get(1033); //File
|
||||
@@ -283,10 +283,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_By_Guid_On_MediaTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var mediaType = repository.Get(1033); //File
|
||||
|
||||
@@ -304,15 +304,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_MediaTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var mediaTypes = repository.GetMany();
|
||||
int count =
|
||||
unitOfWork.Database.ExecuteScalar<int>(
|
||||
scope.Database.ExecuteScalar<int>(
|
||||
"SELECT COUNT(*) FROM umbracoNode WHERE nodeObjectType = @NodeObjectType",
|
||||
new { NodeObjectType = Constants.ObjectTypes.MediaType });
|
||||
|
||||
@@ -326,10 +326,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_By_Guid_On_MediaTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var allGuidIds = repository.GetMany().Select(x => x.Key).ToArray();
|
||||
|
||||
@@ -338,7 +338,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var mediaTypes = ((IReadRepository<Guid, IMediaType>)repository).GetMany(allGuidIds);
|
||||
|
||||
int count =
|
||||
unitOfWork.Database.ExecuteScalar<int>(
|
||||
scope.Database.ExecuteScalar<int>(
|
||||
"SELECT COUNT(*) FROM umbracoNode WHERE nodeObjectType = @NodeObjectType",
|
||||
new { NodeObjectType = Constants.ObjectTypes.MediaType });
|
||||
|
||||
@@ -352,10 +352,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_MediaTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(1032); //Image
|
||||
@@ -369,20 +369,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Update_MediaType_With_PropertyType_Removed()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var mediaType = MockedContentTypes.CreateVideoMediaType();
|
||||
repository.Save(mediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var mediaTypeV2 = repository.Get(NodeDto.NodeIdSeed);
|
||||
mediaTypeV2.PropertyGroups["Media"].PropertyTypes.Remove("title");
|
||||
repository.Save(mediaTypeV2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var mediaTypeV3 = repository.Get(NodeDto.NodeIdSeed);
|
||||
|
||||
@@ -397,14 +397,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_PropertyTypes_On_Video_MediaType()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var mediaType = MockedContentTypes.CreateVideoMediaType();
|
||||
repository.Save(mediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var contentType = repository.Get(NodeDto.NodeIdSeed);
|
||||
@@ -419,10 +419,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_PropertyTypes_On_File_MediaType()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var contentType = repository.Get(1033); //File
|
||||
|
||||
@@ -15,7 +15,7 @@ using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Querying;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -26,24 +26,25 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
|
||||
public class MemberRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
private MemberRepository CreateRepository(IScopeUnitOfWork unitOfWork, out MemberTypeRepository memberTypeRepository, out MemberGroupRepository memberGroupRepository)
|
||||
private MemberRepository CreateRepository(IScopeProvider provider, out MemberTypeRepository memberTypeRepository, out MemberGroupRepository memberGroupRepository)
|
||||
{
|
||||
memberTypeRepository = new MemberTypeRepository(unitOfWork, DisabledCache, Logger);
|
||||
memberGroupRepository = new MemberGroupRepository(unitOfWork, DisabledCache, Logger);
|
||||
var tagRepo = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
var repository = new MemberRepository(unitOfWork, DisabledCache, Logger, memberTypeRepository, memberGroupRepository, tagRepo);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
memberTypeRepository = new MemberTypeRepository(accessor, DisabledCache, Logger);
|
||||
memberGroupRepository = new MemberGroupRepository(accessor, DisabledCache, Logger);
|
||||
var tagRepo = new TagRepository(accessor, DisabledCache, Logger);
|
||||
var repository = new MemberRepository(accessor, DisabledCache, Logger, memberTypeRepository, memberGroupRepository, tagRepo);
|
||||
return repository;
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetMember()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var member = CreateTestMember();
|
||||
|
||||
@@ -57,12 +58,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetMembers()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var type = CreateTestMemberType();
|
||||
var m1 = CreateTestMember(type, "Test 1", "test1@test.com", "pass1", "test1");
|
||||
@@ -80,12 +81,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetAllMembers()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var type = CreateTestMemberType();
|
||||
for (var i = 0; i < 5; i++)
|
||||
@@ -106,18 +107,18 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void QueryMember()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var key = Guid.NewGuid();
|
||||
var member = CreateTestMember(key: key);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IMember>().Where(x => x.Key == key);
|
||||
var query = scope.SqlContext.Query<IMember>().Where(x => x.Key == key);
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -129,12 +130,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void SaveMember()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var member = CreateTestMember();
|
||||
|
||||
@@ -154,20 +155,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void MemberHasBuiltinProperties()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberTypeRepository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var member = MockedMember.CreateSimpleMember(memberType, "Johnny Hefty", "johnny@example.com", "123", "hefty");
|
||||
repository.Save(member);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var sut = repository.Get(member.Id);
|
||||
|
||||
@@ -188,26 +189,26 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void SavingPreservesPassword()
|
||||
{
|
||||
IMember sut;
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberTypeRepository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var member = MockedMember.CreateSimpleMember(memberType, "Johnny Hefty", "johnny@example.com", "123", "hefty");
|
||||
repository.Save(member);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
sut = repository.Get(member.Id);
|
||||
//when the password is null it will not overwrite what is already there.
|
||||
sut.RawPasswordValue = null;
|
||||
repository.Save(sut);
|
||||
unitOfWork.Flush();
|
||||
|
||||
sut = repository.Get(member.Id);
|
||||
|
||||
Assert.That(sut.RawPasswordValue, Is.EqualTo("123"));
|
||||
@@ -218,26 +219,26 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void SavingUpdatesNameAndEmail()
|
||||
{
|
||||
IMember sut;
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberTypeRepository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var member = MockedMember.CreateSimpleMember(memberType, "Johnny Hefty", "johnny@example.com", "123", "hefty");
|
||||
repository.Save(member);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
sut = repository.Get(member.Id);
|
||||
sut.Username = "This is new";
|
||||
sut.Email = "thisisnew@hello.com";
|
||||
repository.Save(sut);
|
||||
unitOfWork.Flush();
|
||||
|
||||
sut = repository.Get(member.Id);
|
||||
|
||||
Assert.That(sut.Email, Is.EqualTo("thisisnew@hello.com"));
|
||||
@@ -248,7 +249,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void QueryMember_WithSubQuery()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
|
||||
var query = provider.SqlContext.Query<IMember>().Where(x =>
|
||||
((Member) x).LongStringPropertyValue.Contains("1095") &&
|
||||
@@ -268,23 +269,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
private IMember CreateTestMember(IMemberType memberType = null, string name = null, string email = null, string password = null, string username = null, Guid? key = null)
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
if (memberType == null)
|
||||
{
|
||||
memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberTypeRepository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
}
|
||||
|
||||
var member = MockedMember.CreateSimpleMember(memberType, name ?? "Johnny Hefty", email ?? "johnny@example.com", password ?? "123", username ?? "hefty", key);
|
||||
repository.Save(member);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
return member;
|
||||
}
|
||||
@@ -292,23 +293,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
private IMemberType CreateTestMemberType(string alias = null)
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
MemberTypeRepository memberTypeRepository;
|
||||
MemberGroupRepository memberGroupRepository;
|
||||
var repository = CreateRepository(unitOfWork, out memberTypeRepository, out memberGroupRepository);
|
||||
var repository = CreateRepository(provider, out memberTypeRepository, out memberGroupRepository);
|
||||
|
||||
var memberType = MockedContentTypes.CreateSimpleMemberType(alias);
|
||||
memberTypeRepository.Save(memberType);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
return memberType;
|
||||
}
|
||||
}
|
||||
|
||||
private Sql<ISqlContext> GetBaseQuery(bool isCount)
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
if (isCount)
|
||||
{
|
||||
var sqlCount = provider.SqlContext.Sql()
|
||||
@@ -348,7 +349,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
private Sql<ISqlContext> GetSubquery()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
var sql = provider.SqlContext.Sql();
|
||||
sql.Select("umbracoNode.id")
|
||||
.From<NodeDto>()
|
||||
|
||||
@@ -9,7 +9,7 @@ using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -20,22 +20,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
|
||||
public class MemberTypeRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
private MemberTypeRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private MemberTypeRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
return new MemberTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
return new MemberTypeRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Persist_Member_Type()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var memberType = (IMemberType) MockedContentTypes.CreateSimpleMemberType();
|
||||
repository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var sut = repository.Get(memberType.Id);
|
||||
|
||||
@@ -55,15 +55,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Persist_Member_Type_Same_Property_Keys()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var memberType = (IMemberType)MockedContentTypes.CreateSimpleMemberType();
|
||||
|
||||
repository.Save(memberType);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
var propertyKeys = memberType.PropertyTypes.Select(x => x.Key).OrderBy(x => x).ToArray();
|
||||
var groupKeys = memberType.PropertyGroups.Select(x => x.Key).OrderBy(x => x).ToArray();
|
||||
@@ -81,36 +81,36 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Cannot_Persist_Member_Type_Without_Alias()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberType.Alias = null;
|
||||
repository.Save(memberType);
|
||||
|
||||
|
||||
Assert.Throws<InvalidOperationException>(unitOfWork.Flush);
|
||||
Assert.Throws<InvalidOperationException>(() => repository.Save(memberType));
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Get_All_Member_Types()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var memberType1 = MockedContentTypes.CreateSimpleMemberType();
|
||||
repository.Save(memberType1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var memberType2 = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberType2.Name = "AnotherType";
|
||||
memberType2.Alias = "anotherType";
|
||||
repository.Save(memberType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var result = repository.GetMany();
|
||||
|
||||
@@ -122,20 +122,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_All_Member_Types_By_Guid_Ids()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var memberType1 = MockedContentTypes.CreateSimpleMemberType();
|
||||
repository.Save(memberType1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var memberType2 = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberType2.Name = "AnotherType";
|
||||
memberType2.Alias = "anotherType";
|
||||
repository.Save(memberType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var result = ((IReadRepository<Guid, IMemberType>)repository).GetMany(memberType1.Key, memberType2.Key);
|
||||
|
||||
@@ -147,20 +147,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Member_Types_By_Guid_Id()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var memberType1 = MockedContentTypes.CreateSimpleMemberType();
|
||||
repository.Save(memberType1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var memberType2 = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberType2.Name = "AnotherType";
|
||||
memberType2.Alias = "anotherType";
|
||||
repository.Save(memberType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var result = repository.Get(memberType1.Key);
|
||||
|
||||
@@ -175,22 +175,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_All_Members_When_No_Properties_Assigned()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var memberType1 = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberType1.PropertyTypeCollection.Clear();
|
||||
repository.Save(memberType1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var memberType2 = MockedContentTypes.CreateSimpleMemberType();
|
||||
memberType2.PropertyTypeCollection.Clear();
|
||||
memberType2.Name = "AnotherType";
|
||||
memberType2.Alias = "anotherType";
|
||||
repository.Save(memberType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var result = repository.GetMany();
|
||||
|
||||
@@ -203,14 +203,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Member_Type_By_Id()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
IMemberType memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
repository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
memberType = repository.Get(memberType.Id);
|
||||
Assert.That(memberType, Is.Not.Null);
|
||||
}
|
||||
@@ -219,14 +219,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Member_Type_By_Guid_Id()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
IMemberType memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
repository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
memberType = repository.Get(memberType.Key);
|
||||
Assert.That(memberType, Is.Not.Null);
|
||||
}
|
||||
@@ -235,14 +235,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Built_In_Member_Type_Properties_Are_Automatically_Added_When_Creating()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
IMemberType memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
repository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
memberType = repository.Get(memberType.Id);
|
||||
|
||||
@@ -256,16 +256,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Built_In_Member_Type_Properties_Are_Not_Reused_For_Different_Member_Types()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
IMemberType memberType1 = MockedContentTypes.CreateSimpleMemberType();
|
||||
IMemberType memberType2 = MockedContentTypes.CreateSimpleMemberType("test2");
|
||||
repository.Save(memberType1);
|
||||
repository.Save(memberType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var m1Ids = memberType1.PropertyTypes.Select(x => x.Id).ToArray();
|
||||
var m2Ids = memberType2.PropertyTypes.Select(x => x.Id).ToArray();
|
||||
@@ -278,19 +278,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Delete_MemberType()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
IMemberType memberType = MockedContentTypes.CreateSimpleMemberType();
|
||||
repository.Save(memberType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var contentType2 = repository.Get(memberType.Id);
|
||||
repository.Delete(contentType2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var exists = repository.Exists(memberType.Id);
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ using Umbraco.Core.Models.Membership;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -22,13 +22,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void CreateNotification()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = new NotificationsRepository(unitOfWork);
|
||||
var repo = new NotificationsRepository((IScopeAccessor) provider);
|
||||
|
||||
var node = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,123", SortOrder = 1, Text = "hello", Trashed = false, UniqueId = Guid.NewGuid(), UserId = 0 };
|
||||
var result = unitOfWork.Database.Insert(node);
|
||||
var result = scope.Database.Insert(node);
|
||||
var entity = Mock.Of<IEntity>(e => e.Id == node.NodeId);
|
||||
var user = Mock.Of<IUser>(e => e.Id == node.UserId);
|
||||
|
||||
@@ -44,14 +44,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetUserNotifications()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
|
||||
var repo = new NotificationsRepository(unitOfWork);
|
||||
var repo = new NotificationsRepository((IScopeAccessor) provider);
|
||||
|
||||
var userDto = new UserDto { Email = "test", Login = "test", Password = "test", UserName = "test", UserLanguage = "en", CreateDate = DateTime.Now, UpdateDate = DateTime.Now };
|
||||
unitOfWork.Database.Insert(userDto);
|
||||
scope.Database.Insert(userDto);
|
||||
|
||||
var userNew = Mock.Of<IUser>(e => e.Id == userDto.Id);
|
||||
var userAdmin = Mock.Of<IUser>(e => e.Id == 0);
|
||||
@@ -59,7 +59,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
var node = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1," + i, SortOrder = 1, Text = "hello" + i, Trashed = false, UniqueId = Guid.NewGuid(), UserId = 0 };
|
||||
var result = unitOfWork.Database.Insert(node);
|
||||
var result = scope.Database.Insert(node);
|
||||
var entity = Mock.Of<IEntity>(e => e.Id == node.NodeId);
|
||||
var notification = repo.CreateNotification((i%2 == 0) ? userAdmin : userNew, entity, i.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
@@ -73,23 +73,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void GetEntityNotifications()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
|
||||
var repo = new NotificationsRepository(unitOfWork);
|
||||
var repo = new NotificationsRepository((IScopeAccessor) provider);
|
||||
|
||||
var node1 = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,1", SortOrder = 1, Text = "hello1", Trashed = false, UniqueId = Guid.NewGuid(), UserId = 0 };
|
||||
unitOfWork.Database.Insert(node1);
|
||||
scope.Database.Insert(node1);
|
||||
var entity1 = Mock.Of<IEntity>(e => e.Id == node1.NodeId);
|
||||
var node2 = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,2", SortOrder = 1, Text = "hello2", Trashed = false, UniqueId = Guid.NewGuid(), UserId = 0 };
|
||||
unitOfWork.Database.Insert(node2);
|
||||
scope.Database.Insert(node2);
|
||||
var entity2 = Mock.Of<IEntity>(e => e.Id == node2.NodeId);
|
||||
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
var userDto = new UserDto { Email = "test" + i, Login = "test" + i, Password = "test", UserName = "test" + i, UserLanguage = "en", CreateDate = DateTime.Now, UpdateDate = DateTime.Now };
|
||||
unitOfWork.Database.Insert(userDto);
|
||||
scope.Database.Insert(userDto);
|
||||
var userNew = Mock.Of<IUser>(e => e.Id == userDto.Id);
|
||||
var notification = repo.CreateNotification(userNew, (i%2 == 0) ? entity1 : entity2, i.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
@@ -103,23 +103,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Delete_By_Entity()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
|
||||
var repo = new NotificationsRepository(unitOfWork);
|
||||
var repo = new NotificationsRepository((IScopeAccessor) provider);
|
||||
|
||||
var node1 = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,1", SortOrder = 1, Text = "hello1", Trashed = false, UniqueId = Guid.NewGuid(), UserId = 0 };
|
||||
unitOfWork.Database.Insert(node1);
|
||||
scope.Database.Insert(node1);
|
||||
var entity1 = Mock.Of<IEntity>(e => e.Id == node1.NodeId);
|
||||
var node2 = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,2", SortOrder = 1, Text = "hello2", Trashed = false, UniqueId = Guid.NewGuid(), UserId = 0 };
|
||||
unitOfWork.Database.Insert(node2);
|
||||
scope.Database.Insert(node2);
|
||||
var entity2 = Mock.Of<IEntity>(e => e.Id == node2.NodeId);
|
||||
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
var userDto = new UserDto { Email = "test" + i, Login = "test" + i, Password = "test", UserName = "test" + i, UserLanguage = "en", CreateDate = DateTime.Now, UpdateDate = DateTime.Now };
|
||||
unitOfWork.Database.Insert(userDto);
|
||||
scope.Database.Insert(userDto);
|
||||
var userNew = Mock.Of<IUser>(e => e.Id == userDto.Id);
|
||||
var notification = repo.CreateNotification(userNew, (i%2 == 0) ? entity1 : entity2, i.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
@@ -133,14 +133,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Delete_By_User()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
|
||||
var repo = new NotificationsRepository(unitOfWork);
|
||||
var repo = new NotificationsRepository((IScopeAccessor) provider);
|
||||
|
||||
var userDto = new UserDto { Email = "test", Login = "test", Password = "test", UserName = "test", UserLanguage = "en", CreateDate = DateTime.Now, UpdateDate = DateTime.Now };
|
||||
unitOfWork.Database.Insert(userDto);
|
||||
scope.Database.Insert(userDto);
|
||||
|
||||
var userNew = Mock.Of<IUser>(e => e.Id == userDto.Id);
|
||||
var userAdmin = Mock.Of<IUser>(e => e.Id == 0);
|
||||
@@ -148,7 +148,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
var node = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1," + i, SortOrder = 1, Text = "hello" + i, Trashed = false, UniqueId = Guid.NewGuid(), UserId = 0 };
|
||||
var result = unitOfWork.Database.Insert(node);
|
||||
var result = scope.Database.Insert(node);
|
||||
var entity = Mock.Of<IEntity>(e => e.Id == node.NodeId);
|
||||
var notification = repo.CreateNotification((i%2 == 0) ? userAdmin : userNew, entity, i.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ using NUnit.Framework;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.PropertyEditors;
|
||||
using Umbraco.Core.Composing;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -37,21 +37,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
// unless noted otherwise, no changes / 7.2.8
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new PartialViewRepository(unitOfWork, _fileSystem);
|
||||
var repository = new PartialViewRepository(_fileSystem);
|
||||
|
||||
var partialView = new PartialView(PartialViewType.PartialView, "test-path-1.cshtml") { Content = "// partialView" };
|
||||
repository.Save(partialView);
|
||||
unitOfWork.Flush();
|
||||
Assert.IsTrue(_fileSystem.FileExists("test-path-1.cshtml"));
|
||||
Assert.AreEqual("test-path-1.cshtml", partialView.Path);
|
||||
Assert.AreEqual("/Views/Partials/test-path-1.cshtml", partialView.VirtualPath);
|
||||
|
||||
partialView = new PartialView(PartialViewType.PartialView, "path-2/test-path-2.cshtml") { Content = "// partialView" };
|
||||
repository.Save(partialView);
|
||||
unitOfWork.Flush();
|
||||
Assert.IsTrue(_fileSystem.FileExists("path-2/test-path-2.cshtml"));
|
||||
Assert.AreEqual("path-2\\test-path-2.cshtml", partialView.Path); // fixed in 7.3 - 7.2.8 does not update the path
|
||||
Assert.AreEqual("/Views/Partials/path-2/test-path-2.cshtml", partialView.VirtualPath);
|
||||
@@ -63,7 +61,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
partialView = new PartialView(PartialViewType.PartialView, "path-2\\test-path-3.cshtml") { Content = "// partialView" };
|
||||
repository.Save(partialView);
|
||||
unitOfWork.Flush();
|
||||
Assert.IsTrue(_fileSystem.FileExists("path-2/test-path-3.cshtml"));
|
||||
Assert.AreEqual("path-2\\test-path-3.cshtml", partialView.Path);
|
||||
Assert.AreEqual("/Views/Partials/path-2/test-path-3.cshtml", partialView.VirtualPath);
|
||||
|
||||
@@ -9,7 +9,7 @@ using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -26,10 +26,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var content = CreateTestData(3).ToArray();
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new PublicAccessRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
||||
{
|
||||
@@ -40,10 +40,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
},
|
||||
});
|
||||
repo.Save(entry);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
repo.Delete(entry);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
entry = repo.Get(entry.Key);
|
||||
Assert.IsNull(entry);
|
||||
@@ -55,11 +55,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var content = CreateTestData(3).ToArray();
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger);
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
var repo = new PublicAccessRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
||||
{
|
||||
@@ -70,7 +70,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
},
|
||||
});
|
||||
repo.Save(entry);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var found = repo.GetMany().ToArray();
|
||||
|
||||
@@ -95,11 +95,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var content = CreateTestData(3).ToArray();
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
unitOfWork.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger);
|
||||
scope.Database.AsUmbracoDatabase().EnableSqlTrace = true;
|
||||
var repo = new PublicAccessRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
||||
{
|
||||
@@ -115,7 +115,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
},
|
||||
});
|
||||
repo.Save(entry);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var found = repo.GetMany().ToArray();
|
||||
|
||||
@@ -141,10 +141,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var content = CreateTestData(3).ToArray();
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new PublicAccessRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
||||
{
|
||||
@@ -155,7 +155,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
},
|
||||
});
|
||||
repo.Save(entry);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//re-get
|
||||
entry = repo.Get(entry.Key);
|
||||
@@ -164,7 +164,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
entry.Rules.First().RuleType = "asdf";
|
||||
repo.Save(entry);
|
||||
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//re-get
|
||||
entry = repo.Get(entry.Key);
|
||||
@@ -179,10 +179,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var content = CreateTestData(3).ToArray();
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new PublicAccessRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
||||
{
|
||||
@@ -193,7 +193,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
},
|
||||
});
|
||||
repo.Save(entry);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//re-get
|
||||
entry = repo.Get(entry.Key);
|
||||
@@ -207,10 +207,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var content = CreateTestData(30).ToArray();
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new PublicAccessRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var allEntries = new List<PublicAccessEntry>();
|
||||
for (int i = 0; i < 10; i++)
|
||||
@@ -226,7 +226,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
var entry1 = new PublicAccessEntry(content[i], content[i + 1], content[i + 2], rules);
|
||||
repo.Save(entry1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
allEntries.Add(entry1);
|
||||
}
|
||||
|
||||
@@ -249,7 +249,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
allEntries[i].AddRule("newrule" + i, "newrule" + i);
|
||||
repo.Save(allEntries[i]);
|
||||
unitOfWork.Flush();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,10 +271,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var content = CreateTestData(3).ToArray();
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new PublicAccessRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var entry1 = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
||||
{
|
||||
@@ -296,7 +296,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
});
|
||||
repo.Save(entry2);
|
||||
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var found = repo.GetMany(entry1.Key).ToArray();
|
||||
Assert.AreEqual(1, found.Count());
|
||||
@@ -304,26 +304,27 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
|
||||
|
||||
private DocumentRepository CreateRepository(IScopeUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository)
|
||||
private DocumentRepository CreateRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository)
|
||||
{
|
||||
var templateRepository = new TemplateRepository(unitOfWork, CacheHelper, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepository = new TagRepository(unitOfWork, CacheHelper, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, CacheHelper, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
var templateRepository = new TemplateRepository(accessor, CacheHelper, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepository = new TagRepository(accessor, CacheHelper, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(accessor, CacheHelper, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(accessor, CacheHelper, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
|
||||
private IEnumerable<IContent> CreateTestData(int count)
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository ctRepo;
|
||||
var repo = CreateRepository(unitOfWork, out ctRepo);
|
||||
var repo = CreateRepository(provider, out ctRepo);
|
||||
|
||||
var ct = MockedContentTypes.CreateBasicContentType("testing");
|
||||
ctRepo.Save(ct);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var result = new List<IContent>();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
@@ -331,7 +332,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repo.Save(c);
|
||||
result.Add(c);
|
||||
}
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ using Umbraco.Core;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -26,11 +26,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void CanSaveAndGet()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = CreateRepository(uow);
|
||||
var repo = CreateRepository(provider);
|
||||
var rurl = new RedirectUrl
|
||||
{
|
||||
ContentKey = _textpage.Key,
|
||||
@@ -42,9 +42,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreNotEqual(0, rurl.Id);
|
||||
}
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = CreateRepository(uow);
|
||||
var repo = CreateRepository(provider);
|
||||
var rurl = repo.GetMostRecentUrl("blah");
|
||||
scope.Complete();
|
||||
|
||||
@@ -56,13 +56,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void CanSaveAndGetMostRecent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
|
||||
Assert.AreNotEqual(_textpage.Id, _otherpage.Id);
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = CreateRepository(uow);
|
||||
var repo = CreateRepository(provider);
|
||||
var rurl = new RedirectUrl
|
||||
{
|
||||
ContentKey = _textpage.Key,
|
||||
@@ -90,9 +90,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreNotEqual(0, rurl.Id);
|
||||
}
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = CreateRepository(uow);
|
||||
var repo = CreateRepository(provider);
|
||||
var rurl = repo.GetMostRecentUrl("blah");
|
||||
scope.Complete();
|
||||
|
||||
@@ -104,11 +104,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void CanSaveAndGetByContent()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = CreateRepository(uow);
|
||||
var repo = CreateRepository(provider);
|
||||
var rurl = new RedirectUrl
|
||||
{
|
||||
ContentKey = _textpage.Key,
|
||||
@@ -133,9 +133,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreNotEqual(0, rurl.Id);
|
||||
}
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = CreateRepository(uow);
|
||||
var repo = CreateRepository(provider);
|
||||
var rurls = repo.GetContentUrls(_textpage.Key).ToArray();
|
||||
scope.Complete();
|
||||
|
||||
@@ -148,11 +148,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void CanSaveAndDelete()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = CreateRepository(uow);
|
||||
var repo = CreateRepository(provider);
|
||||
var rurl = new RedirectUrl
|
||||
{
|
||||
ContentKey = _textpage.Key,
|
||||
@@ -174,9 +174,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreNotEqual(0, rurl.Id);
|
||||
}
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repo = CreateRepository(uow);
|
||||
var repo = CreateRepository(provider);
|
||||
repo.DeleteContentUrls(_textpage.Key);
|
||||
scope.Complete();
|
||||
|
||||
@@ -186,9 +186,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
}
|
||||
|
||||
private IRedirectUrlRepository CreateRepository(IScopeUnitOfWork uow)
|
||||
private IRedirectUrlRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
return new RedirectUrlRepository(uow, CacheHelper, Logger);
|
||||
return new RedirectUrlRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
}
|
||||
|
||||
private IContent _textpage, _subpage, _otherpage, _trashed;
|
||||
|
||||
@@ -9,7 +9,7 @@ using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -27,10 +27,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData();
|
||||
}
|
||||
|
||||
private RelationRepository CreateRepository(IScopeUnitOfWork unitOfWork, out RelationTypeRepository relationTypeRepository)
|
||||
private RelationRepository CreateRepository(IScopeProvider provider, out RelationTypeRepository relationTypeRepository)
|
||||
{
|
||||
relationTypeRepository = new RelationTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new RelationRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), relationTypeRepository);
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
relationTypeRepository = new RelationTypeRepository(accessor, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new RelationRepository(accessor, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), relationTypeRepository);
|
||||
return repository;
|
||||
}
|
||||
|
||||
@@ -38,17 +39,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var relationType = repositoryType.Get(1);
|
||||
var relation = new Relation(NodeDto.NodeIdSeed + 2, NodeDto.NodeIdSeed + 3, relationType);
|
||||
repository.Save(relation);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(relation, Is.Not.Null);
|
||||
@@ -60,17 +61,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var relation = repository.Get(1);
|
||||
relation.Comment = "This relation has been updated";
|
||||
repository.Save(relation);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var relationUpdated = repository.Get(1);
|
||||
|
||||
@@ -85,16 +86,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var relation = repository.Get(2);
|
||||
repository.Delete(relation);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var exists = repository.Exists(2);
|
||||
|
||||
@@ -107,11 +108,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var relation = repository.Get(1);
|
||||
@@ -129,11 +130,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var relations = repository.GetMany();
|
||||
@@ -150,11 +151,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_With_Params_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var relations = repository.GetMany(1, 2);
|
||||
@@ -171,11 +172,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(2);
|
||||
@@ -191,14 +192,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Count_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IRelation>().Where(x => x.ParentId == NodeDto.NodeIdSeed + 2);
|
||||
var query = scope.SqlContext.Query<IRelation>().Where(x => x.ParentId == NodeDto.NodeIdSeed + 2);
|
||||
int count = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
@@ -210,14 +211,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetByQuery_On_RelationRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IRelation>().Where(x => x.RelationTypeId == RelationTypeDto.NodeIdSeed);
|
||||
var query = scope.SqlContext.Query<IRelation>().Where(x => x.RelationTypeId == RelationTypeDto.NodeIdSeed);
|
||||
var relations = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -232,11 +233,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Delete_Content_And_Verify_Relation_Is_Removed()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
RelationTypeRepository repositoryType;
|
||||
var repository = CreateRepository(unitOfWork, out repositoryType);
|
||||
var repository = CreateRepository(provider, out repositoryType);
|
||||
|
||||
var content = ServiceContext.ContentService.GetById(NodeDto.NodeIdSeed + 3);
|
||||
ServiceContext.ContentService.Delete(content, 0);
|
||||
@@ -262,15 +263,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var relateContent = new RelationType(Constants.ObjectTypes.Document, new Guid("C66BA18E-EAF3-4CFF-8A22-41B16D66A972"), "relateContentOnCopy") { IsBidirectional = true, Name = "Relate Content on Copy" };
|
||||
var relateContentType = new RelationType(Constants.ObjectTypes.DocumentType, new Guid("A2CB7800-F571-4787-9638-BC48539A0EFB"), "relateContentTypeOnCopy") { IsBidirectional = true, Name = "Relate ContentType on Copy" };
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var relationTypeRepository = new RelationTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var relationRepository = new RelationRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), relationTypeRepository);
|
||||
var relationTypeRepository = new RelationTypeRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var relationRepository = new RelationRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), relationTypeRepository);
|
||||
|
||||
relationTypeRepository.Save(relateContent);
|
||||
relationTypeRepository.Save(relateContentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Create and Save ContentType "umbTextpage" -> (NodeDto.NodeIdSeed)
|
||||
ContentType contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage", "Textpage");
|
||||
@@ -293,7 +294,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var relation2 = new Relation(textpage.Id, subpage2.Id, relateContent) { Comment = string.Empty };
|
||||
relationRepository.Save(relation);
|
||||
relationRepository.Save(relation2);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -26,9 +26,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData();
|
||||
}
|
||||
|
||||
private RelationTypeRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private RelationTypeRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
return new RelationTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
return new RelationTypeRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
}
|
||||
|
||||
|
||||
@@ -36,10 +36,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var relateMemberToContent = new RelationType(Constants.ObjectTypes.Member,
|
||||
@@ -47,7 +47,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
"relateMemberToContent") { IsBidirectional = true, Name = "Relate Member to Content" };
|
||||
|
||||
repository.Save(relateMemberToContent);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
Assert.That(relateMemberToContent.HasIdentity, Is.True);
|
||||
@@ -59,17 +58,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var relationType = repository.Get(3);
|
||||
relationType.Alias = relationType.Alias + "Updated";
|
||||
relationType.Name = relationType.Name + " Updated";
|
||||
repository.Save(relationType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var relationTypeUpdated = repository.Get(3);
|
||||
|
||||
@@ -85,15 +83,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var relationType = repository.Get(3);
|
||||
repository.Delete(relationType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var exists = repository.Exists(3);
|
||||
|
||||
@@ -106,10 +103,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var relationType = repository.Get(RelationTypeDto.NodeIdSeed);
|
||||
@@ -126,10 +123,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var relationTypes = repository.GetMany();
|
||||
@@ -146,10 +143,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_With_Params_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var relationTypes = repository.GetMany(2, 3);
|
||||
@@ -166,10 +163,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(3);
|
||||
@@ -185,13 +182,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Count_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IRelationType>().Where(x => x.Alias.StartsWith("relate"));
|
||||
var query = scope.SqlContext.Query<IRelationType>().Where(x => x.Alias.StartsWith("relate"));
|
||||
int count = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
@@ -203,14 +200,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetByQuery_On_RelationTypeRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var childObjType = Constants.ObjectTypes.DocumentType;
|
||||
var query = unitOfWork.SqlContext.Query<IRelationType>().Where(x => x.ChildObjectType == childObjType);
|
||||
var query = scope.SqlContext.Query<IRelationType>().Where(x => x.ChildObjectType == childObjType);
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -232,14 +229,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var relateContent = new RelationType(Constants.ObjectTypes.Document, new Guid("C66BA18E-EAF3-4CFF-8A22-41B16D66A972"), "relateContentOnCopy") { IsBidirectional = true, Name = "Relate Content on Copy" };
|
||||
var relateContentType = new RelationType(Constants.ObjectTypes.DocumentType, new Guid("A2CB7800-F571-4787-9638-BC48539A0EFB"), "relateContentTypeOnCopy") { IsBidirectional = true, Name = "Relate ContentType on Copy" };
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new RelationTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new RelationTypeRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
repository.Save(relateContent);//Id 2
|
||||
repository.Save(relateContentType);//Id 3
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@ using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.PropertyEditors;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -44,12 +44,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Instantiate_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
|
||||
// Act
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
// Assert
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
@@ -60,15 +60,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_ScriptRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
var script = new Script("test-add-script.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(_fileSystem.FileExists("test-add-script.js"), Is.True);
|
||||
@@ -79,19 +79,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_ScriptRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
var script = new Script("test-updated-script.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
script.Content = "/// <reference name=\"MicrosoftAjax-Updated.js\"/>";
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var scriptUpdated = repository.Get("test-updated-script.js");
|
||||
|
||||
@@ -105,15 +105,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_ScriptRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
var script = repository.Get("test-script.js");
|
||||
repository.Delete(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
|
||||
@@ -125,10 +125,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_ScriptRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
var exists = repository.Get("test-script.js");
|
||||
@@ -144,10 +144,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_ScriptRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
var script = new Script("test-script1.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
repository.Save(script);
|
||||
@@ -155,7 +155,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(script2);
|
||||
var script3 = new Script("test-script3.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
repository.Save(script3);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var scripts = repository.GetMany();
|
||||
@@ -172,10 +172,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_With_Params_On_ScriptRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
var script = new Script("test-script1.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
repository.Save(script);
|
||||
@@ -183,7 +183,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(script2);
|
||||
var script3 = new Script("test-script3.js") { Content = "/// <reference name=\"MicrosoftAjax.js\"/>" };
|
||||
repository.Save(script3);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var scripts = repository.GetMany("test-script1.js", "test-script2.js");
|
||||
@@ -200,10 +200,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_ScriptRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists("test-script.js");
|
||||
@@ -219,20 +219,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
const string content = "/// <reference name=\"MicrosoftAjax.js\"/>";
|
||||
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
var script = new Script("test-move-script.js") { Content = content };
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
script = repository.Get("test-move-script.js");
|
||||
script.Path = "moved/test-move-script.js";
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var existsOld = repository.Exists("test-move-script.js");
|
||||
var existsNew = repository.Exists("moved/test-move-script.js");
|
||||
@@ -252,14 +252,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
// unless noted otherwise, no changes / 7.2.8
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new ScriptRepository(unitOfWork, _fileSystem, Mock.Of<IContentSection>());
|
||||
var repository = new ScriptRepository(_fileSystem, Mock.Of<IContentSection>());
|
||||
|
||||
var script = new Script("test-path-1.js") { Content = "// script" };
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.IsTrue(_fileSystem.FileExists("test-path-1.js"));
|
||||
Assert.AreEqual("test-path-1.js", script.Path);
|
||||
Assert.AreEqual("/scripts/test-path-1.js", script.VirtualPath);
|
||||
@@ -267,14 +267,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
//ensure you can prefix the same path as the root path name
|
||||
script = new Script("scripts/path-2/test-path-2.js") { Content = "// script" };
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.IsTrue(_fileSystem.FileExists("scripts/path-2/test-path-2.js"));
|
||||
Assert.AreEqual("scripts\\path-2\\test-path-2.js", script.Path);
|
||||
Assert.AreEqual("/scripts/scripts/path-2/test-path-2.js", script.VirtualPath);
|
||||
|
||||
script = new Script("path-2/test-path-2.js") { Content = "// script" };
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.IsTrue(_fileSystem.FileExists("path-2/test-path-2.js"));
|
||||
Assert.AreEqual("path-2\\test-path-2.js", script.Path); // fixed in 7.3 - 7.2.8 does not update the path
|
||||
Assert.AreEqual("/scripts/path-2/test-path-2.js", script.VirtualPath);
|
||||
@@ -286,7 +286,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
script = new Script("path-2\\test-path-3.js") { Content = "// script" };
|
||||
repository.Save(script);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.IsTrue(_fileSystem.FileExists("path-2/test-path-3.js"));
|
||||
Assert.AreEqual("path-2\\test-path-3.js", script.Path);
|
||||
Assert.AreEqual("/scripts/path-2/test-path-3.js", script.VirtualPath);
|
||||
|
||||
@@ -6,7 +6,7 @@ using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -26,24 +26,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData();
|
||||
}
|
||||
|
||||
private ServerRegistrationRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private ServerRegistrationRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
return new ServerRegistrationRepository(unitOfWork, Logger);
|
||||
return new ServerRegistrationRepository((IScopeAccessor) provider, Logger);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Cannot_Add_Duplicate_Server_Identities()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var server = new ServerRegistration("http://shazwazza.com", "COMPUTER1", DateTime.Now);
|
||||
repository.Save(server);
|
||||
|
||||
Assert.Throws<SqlCeException>(unitOfWork.Flush);
|
||||
Assert.Throws<SqlCeException>(() => repository.Save(server));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -52,15 +51,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Cannot_Update_To_Duplicate_Server_Identities()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var server = repository.Get(1);
|
||||
server.ServerIdentity = "COMPUTER2";
|
||||
repository.Save(server);
|
||||
Assert.Throws<SqlCeException>(unitOfWork.Flush);
|
||||
|
||||
Assert.Throws<SqlCeException>(() => repository.Save(server));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -69,10 +68,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Instantiate_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Assert
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
@@ -83,10 +82,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var server = repository.Get(1);
|
||||
@@ -104,10 +103,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var servers = repository.GetMany();
|
||||
@@ -124,9 +123,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
//public void Can_Perform_GetByQuery_On_Repository()
|
||||
//{
|
||||
// // Arrange
|
||||
// var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
// var provider = TestObjects.GetScopeProvider(Logger);
|
||||
// using (var unitOfWork = provider.GetUnitOfWork())
|
||||
// using (var repository = CreateRepository(unitOfWork))
|
||||
// using (var repository = CreateRepository(provider))
|
||||
// {
|
||||
// // Act
|
||||
// var query = Query<IServerRegistration>.Builder.Where(x => x.ServerIdentity.ToUpper() == "COMPUTER3");
|
||||
@@ -141,9 +140,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
//public void Can_Perform_Count_On_Repository()
|
||||
//{
|
||||
// // Arrange
|
||||
// var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
// var provider = TestObjects.GetScopeProvider(Logger);
|
||||
// using (var unitOfWork = provider.GetUnitOfWork())
|
||||
// using (var repository = CreateRepository(unitOfWork))
|
||||
// using (var repository = CreateRepository(provider))
|
||||
// {
|
||||
// // Act
|
||||
// var query = Query<IServerRegistration>.Builder.Where(x => x.ServerAddress.StartsWith("http://"));
|
||||
@@ -158,15 +157,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var server = new ServerRegistration("http://shazwazza.com", "COMPUTER4", DateTime.Now);
|
||||
repository.Save(server);
|
||||
unitOfWork.Flush();
|
||||
|
||||
// Assert
|
||||
Assert.That(server.HasIdentity, Is.True);
|
||||
@@ -178,10 +176,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var server = repository.Get(2);
|
||||
@@ -189,7 +187,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
server.IsActive = true;
|
||||
|
||||
repository.Save(server);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var serverUpdated = repository.Get(2);
|
||||
|
||||
@@ -204,16 +201,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var server = repository.Get(3);
|
||||
Assert.IsNotNull(server);
|
||||
repository.Delete(server);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var exists = repository.Exists(3);
|
||||
|
||||
@@ -226,10 +222,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(3);
|
||||
@@ -249,15 +245,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
public void CreateTestData()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
repository.Save(new ServerRegistration("http://localhost", "COMPUTER1", DateTime.Now) { IsActive = true });
|
||||
repository.Save(new ServerRegistration("http://www.mydomain.com", "COMPUTER2", DateTime.Now));
|
||||
repository.Save(new ServerRegistration("https://www.another.domain.com", "Computer3", DateTime.Now));
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -37,11 +36,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Instantiate_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
// Act
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
|
||||
// Assert
|
||||
@@ -53,15 +52,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = new Stylesheet("test-add.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(_fileSystem.FileExists("test-add.css"), Is.True);
|
||||
@@ -72,20 +71,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = new Stylesheet("test-update.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var stylesheetUpdate = repository.Get("test-update.css");
|
||||
stylesheetUpdate.Content = "body { color:#000; }";
|
||||
repository.Save(stylesheetUpdate);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var stylesheetUpdated = repository.Get("test-update.css");
|
||||
|
||||
@@ -100,20 +99,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_With_Property()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = new Stylesheet("test-update.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
stylesheet.AddProperty(new StylesheetProperty("Test", "p", "font-size:2em;"));
|
||||
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//re-get
|
||||
stylesheet = repository.Get(stylesheet.Name);
|
||||
@@ -131,15 +130,15 @@ p{font-size:2em;}"));
|
||||
public void Throws_When_Adding_Duplicate_Properties()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = new Stylesheet("test-update.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
stylesheet.AddProperty(new StylesheetProperty("Test", "p", "font-size:2em;"));
|
||||
|
||||
@@ -151,18 +150,18 @@ p{font-size:2em;}"));
|
||||
public void Can_Perform_Delete()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = new Stylesheet("test-delete.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
repository.Delete(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(_fileSystem.FileExists("test-delete.css"), Is.False);
|
||||
@@ -173,10 +172,10 @@ p{font-size:2em;}"));
|
||||
public void Can_Perform_Get()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
// Act
|
||||
var stylesheet = repository.Get("styles.css");
|
||||
@@ -193,14 +192,14 @@ p{font-size:2em;}"));
|
||||
public void Can_Perform_GetAll()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
var stylesheet = new Stylesheet("styles-v2.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var stylesheets = repository.GetMany();
|
||||
@@ -217,14 +216,14 @@ p{font-size:2em;}"));
|
||||
public void Can_Perform_GetAll_With_Params()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
var stylesheet = new Stylesheet("styles-v2.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var stylesheets = repository.GetMany("styles-v2.css", "styles.css");
|
||||
@@ -241,10 +240,10 @@ p{font-size:2em;}"));
|
||||
public void Can_Perform_Exists()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists("styles.css");
|
||||
@@ -259,21 +258,21 @@ p{font-size:2em;}"));
|
||||
{
|
||||
// unless noted otherwise, no changes / 7.2.8
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = new StylesheetRepository(unitOfWork, _fileSystem);
|
||||
var repository = new StylesheetRepository(_fileSystem);
|
||||
|
||||
var stylesheet = new Stylesheet("test-path-1.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.IsTrue(_fileSystem.FileExists("test-path-1.css"));
|
||||
Assert.AreEqual("test-path-1.css", stylesheet.Path);
|
||||
Assert.AreEqual("/css/test-path-1.css", stylesheet.VirtualPath);
|
||||
|
||||
stylesheet = new Stylesheet("path-2/test-path-2.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.IsTrue(_fileSystem.FileExists("path-2/test-path-2.css"));
|
||||
Assert.AreEqual("path-2\\test-path-2.css", stylesheet.Path); // fixed in 7.3 - 7.2.8 does not update the path
|
||||
Assert.AreEqual("/css/path-2/test-path-2.css", stylesheet.VirtualPath);
|
||||
@@ -285,7 +284,7 @@ p{font-size:2em;}"));
|
||||
|
||||
stylesheet = new Stylesheet("path-2\\test-path-3.css") { Content = "body { color:#000; } .bold {font-weight:bold;}" };
|
||||
repository.Save(stylesheet);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.IsTrue(_fileSystem.FileExists("path-2/test-path-3.css"));
|
||||
Assert.AreEqual("path-2\\test-path-3.css", stylesheet.Path);
|
||||
Assert.AreEqual("/css/path-2/test-path-3.css", stylesheet.VirtualPath);
|
||||
|
||||
@@ -6,7 +6,7 @@ using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -17,9 +17,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
|
||||
public class TagRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
private TagRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private TagRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
var tagRepository = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
var tagRepository = new TagRepository((IScopeAccessor) provider, DisabledCache, Logger);
|
||||
return tagRepository;
|
||||
}
|
||||
|
||||
@@ -27,10 +27,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var tag = new Tag()
|
||||
{
|
||||
@@ -40,7 +40,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
// Act
|
||||
repository.Save(tag);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(tag.HasIdentity, Is.True);
|
||||
@@ -51,10 +51,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Multiple_Adds_On_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var tag = new Tag()
|
||||
{
|
||||
@@ -64,7 +64,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
// Act
|
||||
repository.Save(tag);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var tag2 = new Tag()
|
||||
{
|
||||
@@ -72,7 +72,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Text = "Test2"
|
||||
};
|
||||
repository.Save(tag2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(tag.HasIdentity, Is.True);
|
||||
@@ -85,22 +85,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Create_Tag_Relations()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -117,22 +117,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Append_Tag_Relations()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -158,22 +158,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Replace_Tag_Relations()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -202,22 +202,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Merge_Tag_Relations()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -244,22 +244,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Clear_Tag_Relations()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -282,22 +282,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Remove_Specific_Tags_From_Property()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -328,24 +328,24 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tags_For_Content_By_Id()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
var content2 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -374,24 +374,24 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tags_For_Content_By_Key()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
var content2 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -421,24 +421,24 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_All()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
var content2 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -458,24 +458,24 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_All_With_Ids()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
var content2 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
var tags = new[]
|
||||
{
|
||||
new Tag {Text = "tag1", Group = "test"},
|
||||
@@ -500,24 +500,24 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tags_For_Content_For_Group()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
var content2 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -546,22 +546,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tags_For_Property_By_Id()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -593,22 +593,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tags_For_Property_By_Key()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -639,22 +639,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tags_For_Property_For_Group()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -686,30 +686,30 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tags_For_Entity_Type()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var mediaRepository = CreateMediaRepository(unitOfWork, out mediaTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
var mediaRepository = CreateMediaRepository(provider, out mediaTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var mediaType = MockedContentTypes.CreateImageMediaType("image2");
|
||||
mediaTypeRepository.Save(mediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var media1 = MockedMedia.CreateMediaImage(mediaType, -1);
|
||||
mediaRepository.Save(media1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -746,30 +746,30 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tags_For_Entity_Type_For_Group()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var mediaRepository = CreateMediaRepository(unitOfWork, out mediaTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
var mediaRepository = CreateMediaRepository(provider, out mediaTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var mediaType = MockedContentTypes.CreateImageMediaType("image2");
|
||||
mediaTypeRepository.Save(mediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var media1 = MockedMedia.CreateMediaImage(mediaType, -1);
|
||||
mediaRepository.Save(media1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -801,22 +801,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Cascade_Deletes_Tag_Relations()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -830,9 +830,9 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
contentRepository.Delete(content1);
|
||||
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
Assert.AreEqual(0, unitOfWork.Database.ExecuteScalar<int>(
|
||||
Assert.AreEqual(0, scope.Database.ExecuteScalar<int>(
|
||||
"SELECT COUNT(*) FROM cmsTagRelationship WHERE nodeId=@nodeId AND propertyTypeId=@propTypeId",
|
||||
new { nodeId = content1.Id, propTypeId = contentType.PropertyTypes.First().Id }));
|
||||
}
|
||||
@@ -841,36 +841,36 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tagged_Entities_For_Tag_Group()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var mediaRepository = CreateMediaRepository(unitOfWork, out mediaTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
var mediaRepository = CreateMediaRepository(provider, out mediaTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var content2 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var mediaType = MockedContentTypes.CreateImageMediaType("image2");
|
||||
mediaTypeRepository.Save(mediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var media1 = MockedMedia.CreateMediaImage(mediaType, -1);
|
||||
mediaRepository.Save(media1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -927,36 +927,36 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Get_Tagged_Entities_For_Tag()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
MediaTypeRepository mediaTypeRepository;
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out contentTypeRepository);
|
||||
var mediaRepository = CreateMediaRepository(unitOfWork, out mediaTypeRepository);
|
||||
var contentRepository = CreateContentRepository(provider, out contentTypeRepository);
|
||||
var mediaRepository = CreateMediaRepository(provider, out mediaTypeRepository);
|
||||
|
||||
//create data to relate to
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var content1 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var content2 = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepository.Save(content2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var mediaType = MockedContentTypes.CreateImageMediaType("image2");
|
||||
mediaTypeRepository.Save(mediaType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var media1 = MockedMedia.CreateMediaImage(mediaType, -1);
|
||||
mediaRepository.Save(media1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
repository.AssignTagsToProperty(
|
||||
content1.Id,
|
||||
contentType.PropertyTypes.First().Id,
|
||||
@@ -1006,20 +1006,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
}
|
||||
|
||||
private DocumentRepository CreateContentRepository(IScopeUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository)
|
||||
private DocumentRepository CreateContentRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository)
|
||||
{
|
||||
var templateRepository = new TemplateRepository(unitOfWork, DisabledCache, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepository = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(unitOfWork, DisabledCache, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, DisabledCache, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
var templateRepository = new TemplateRepository(accessor, DisabledCache, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepository = new TagRepository(accessor, DisabledCache, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(accessor, DisabledCache, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(accessor, DisabledCache, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
|
||||
private MediaRepository CreateMediaRepository(IScopeUnitOfWork unitOfWork, out MediaTypeRepository mediaTypeRepository)
|
||||
private MediaRepository CreateMediaRepository(IScopeProvider provider, out MediaTypeRepository mediaTypeRepository)
|
||||
{
|
||||
var tagRepository = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
mediaTypeRepository = new MediaTypeRepository(unitOfWork, DisabledCache, Logger);
|
||||
var repository = new MediaRepository(unitOfWork, DisabledCache, Logger, mediaTypeRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
var tagRepository = new TagRepository(accessor, DisabledCache, Logger);
|
||||
mediaTypeRepository = new MediaTypeRepository(accessor, DisabledCache, Logger);
|
||||
var repository = new MediaRepository(accessor, DisabledCache, Logger, mediaTypeRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ using Umbraco.Core;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -18,10 +18,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Delete()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var created = DateTime.Now;
|
||||
var task = new Task(new TaskType("asdfasdf"))
|
||||
@@ -33,10 +33,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
OwnerUserId = 0
|
||||
};
|
||||
repo.Save(task);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
repo.Delete(task);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
task = repo.Get(task.Id);
|
||||
Assert.IsNull(task);
|
||||
@@ -46,10 +46,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Add()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var created = DateTime.Now;
|
||||
repo.Save(new Task(new TaskType("asdfasdf"))
|
||||
@@ -60,7 +60,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
EntityId = -1,
|
||||
OwnerUserId = 0
|
||||
});
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var found = repo.GetMany().ToArray();
|
||||
|
||||
@@ -79,10 +79,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Update()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var task = new Task(new TaskType("asdfasdf"))
|
||||
{
|
||||
@@ -94,7 +94,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
};
|
||||
|
||||
repo.Save(task);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//re-get
|
||||
task = repo.Get(task.Id);
|
||||
@@ -103,7 +103,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
task.Closed = true;
|
||||
|
||||
repo.Save(task);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//re-get
|
||||
task = repo.Get(task.Id);
|
||||
@@ -116,10 +116,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Get_By_Id()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var task = new Task(new TaskType("asdfasdf"))
|
||||
{
|
||||
@@ -131,7 +131,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
};
|
||||
|
||||
repo.Save(task);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//re-get
|
||||
task = repo.Get(task.Id);
|
||||
@@ -145,10 +145,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
CreateTestData(false, 20);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var found = repo.GetMany().ToArray();
|
||||
Assert.AreEqual(20, found.Count());
|
||||
@@ -161,10 +161,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData(false, 10);
|
||||
CreateTestData(true, 5);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var found = repo.GetTasks(includeClosed: true).ToArray();
|
||||
Assert.AreEqual(15, found.Count());
|
||||
@@ -177,10 +177,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData(false, 10, -20);
|
||||
CreateTestData(false, 5, -21);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var found = repo.GetTasks(itemId:-20).ToArray();
|
||||
Assert.AreEqual(10, found.Count());
|
||||
@@ -193,10 +193,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
CreateTestData(false, 10);
|
||||
CreateTestData(true, 5);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var found = repo.GetTasks(includeClosed: false);
|
||||
Assert.AreEqual(10, found.Count());
|
||||
@@ -205,10 +205,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
private void CreateTestData(bool closed, int count, int entityId = -1)
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
@@ -222,7 +222,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
});
|
||||
}
|
||||
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ using NUnit.Framework;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
@@ -17,12 +17,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Delete()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var taskType = new TaskType("asdfasdf");
|
||||
var repo = new TaskRepository(unitOfWork, CacheHelper, Logger);
|
||||
var taskTypeRepo = new TaskTypeRepository(unitOfWork, CacheHelper, Logger);
|
||||
var repo = new TaskRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
var taskTypeRepo = new TaskTypeRepository((IScopeAccessor) provider, CacheHelper, Logger);
|
||||
|
||||
var created = DateTime.Now;
|
||||
var task = new Task(taskType)
|
||||
@@ -34,12 +34,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
OwnerUserId = 0
|
||||
};
|
||||
repo.Save(task);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var alltasktypes = taskTypeRepo.GetMany();
|
||||
|
||||
taskTypeRepo.Delete(taskType);
|
||||
unitOfWork.Flush();
|
||||
|
||||
Assert.AreEqual(alltasktypes.Count() - 1, taskTypeRepo.GetMany().Count());
|
||||
Assert.AreEqual(0, repo.GetMany().Count());
|
||||
|
||||
@@ -11,7 +11,7 @@ using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -25,10 +25,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
private IFileSystem _masterPageFileSystem;
|
||||
private IFileSystem _viewsFileSystem;
|
||||
|
||||
private ITemplateRepository CreateRepository(IScopeUnitOfWork unitOfWork, ITemplatesSection templatesSection = null)
|
||||
private ITemplateRepository CreateRepository(IScopeProvider provider, ITemplatesSection templatesSection = null)
|
||||
{
|
||||
return new TemplateRepository(unitOfWork, DisabledCache, Logger, _masterPageFileSystem, _viewsFileSystem,
|
||||
templatesSection ?? Mock.Of<ITemplatesSection>(t => t.DefaultRenderingEngine == RenderingEngine.Mvc));
|
||||
return new TemplateRepository((IScopeAccessor) provider, DisabledCache, Logger,
|
||||
templatesSection ?? Mock.Of<ITemplatesSection>(t => t.DefaultRenderingEngine == RenderingEngine.Mvc),
|
||||
_masterPageFileSystem, _viewsFileSystem);
|
||||
}
|
||||
|
||||
public override void SetUp()
|
||||
@@ -43,10 +44,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Instantiate_Repository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Assert
|
||||
Assert.That(repository, Is.Not.Null);
|
||||
@@ -58,10 +59,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_MasterPage_Detect_Content()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var template = new Template("test", "test")
|
||||
@@ -69,7 +70,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Content = @"<%@ Master Language=""C#"" %>"
|
||||
};
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(repository.Get("test"), Is.Not.Null);
|
||||
@@ -82,15 +83,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_MasterPage_With_Default_Content()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, Mock.Of<ITemplatesSection>(x => x.DefaultRenderingEngine == RenderingEngine.WebForms));
|
||||
var repository = CreateRepository(provider, Mock.Of<ITemplatesSection>(x => x.DefaultRenderingEngine == RenderingEngine.WebForms));
|
||||
|
||||
// Act
|
||||
var template = new Template("test", "test");
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(repository.Get("test"), Is.Not.Null);
|
||||
@@ -109,21 +110,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_MasterPage_With_Default_Content_With_Parent()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork, Mock.Of<ITemplatesSection>(x => x.DefaultRenderingEngine == RenderingEngine.WebForms));
|
||||
var repository = CreateRepository(provider, Mock.Of<ITemplatesSection>(x => x.DefaultRenderingEngine == RenderingEngine.WebForms));
|
||||
|
||||
//NOTE: This has to be persisted first
|
||||
var template = new Template("test", "test");
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var template2 = new Template("test2", "test2");
|
||||
template2.SetMasterTemplate(template);
|
||||
repository.Save(template2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(repository.Get("test2"), Is.Not.Null);
|
||||
@@ -139,15 +140,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_View()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var template = new Template("test", "test");
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(repository.Get("test"), Is.Not.Null);
|
||||
@@ -160,10 +161,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_View_With_Default_Content()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var template = new Template("test", "test")
|
||||
@@ -171,7 +172,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Content = ViewHelper.GetDefaultFileContent()
|
||||
};
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(repository.Get("test"), Is.Not.Null);
|
||||
@@ -187,21 +188,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_View_With_Default_Content_With_Parent()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
//NOTE: This has to be persisted first
|
||||
var template = new Template("test", "test");
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var template2 = new Template("test2", "test2");
|
||||
template2.SetMasterTemplate(template);
|
||||
repository.Save(template2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.That(repository.Get("test2"), Is.Not.Null);
|
||||
@@ -216,10 +217,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Add_Unique_Alias()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var template = new Template("test", "test")
|
||||
@@ -227,14 +228,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Content = ViewHelper.GetDefaultFileContent()
|
||||
};
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var template2 = new Template("test", "test")
|
||||
{
|
||||
Content = ViewHelper.GetDefaultFileContent()
|
||||
};
|
||||
repository.Save(template2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual("test1", template2.Alias);
|
||||
@@ -246,10 +247,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_Unique_Alias()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var template = new Template("test", "test")
|
||||
@@ -257,18 +258,18 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Content = ViewHelper.GetDefaultFileContent()
|
||||
};
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var template2 = new Template("test1", "test1")
|
||||
{
|
||||
Content = ViewHelper.GetDefaultFileContent()
|
||||
};
|
||||
repository.Save(template2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
template.Alias = "test1";
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual("test11", template.Alias);
|
||||
@@ -282,10 +283,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_MasterPage()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var template = new Template("test", "test")
|
||||
@@ -293,11 +294,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Content = @"<%@ Master Language=""C#"" %>"
|
||||
};
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
template.Content = @"<%@ Master Language=""VB"" %>";
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var updated = repository.Get("test");
|
||||
|
||||
@@ -313,10 +314,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_View()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
// Act
|
||||
var template = new Template("test", "test")
|
||||
@@ -324,11 +325,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Content = ViewHelper.GetDefaultFileContent()
|
||||
};
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
template.Content += "<html></html>";
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var updated = repository.Get("test");
|
||||
|
||||
@@ -342,23 +343,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_MasterPage()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var template = new Template("test", "test")
|
||||
{
|
||||
Content = @"<%@ Master Language=""C#"" %>"
|
||||
};
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var templates = repository.Get("test");
|
||||
Assert.That(_masterPageFileSystem.FileExists("test.master"), Is.True);
|
||||
repository.Delete(templates);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.IsNull(repository.Get("test"));
|
||||
@@ -370,23 +371,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_View()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var template = new Template("test", "test")
|
||||
{
|
||||
Content = ViewHelper.GetDefaultFileContent()
|
||||
};
|
||||
repository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var templates = repository.Get("test");
|
||||
Assert.That(_viewsFileSystem.FileExists("test.cshtml"), Is.True);
|
||||
repository.Delete(templates);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.IsNull(repository.Get("test"));
|
||||
@@ -398,21 +399,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_When_Assigned_To_Doc()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var templateRepository = CreateRepository(unitOfWork);
|
||||
var templateRepository = CreateRepository(provider);
|
||||
|
||||
var tagRepository = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
var contentTypeRepository = new ContentTypeRepository(unitOfWork, DisabledCache, Logger, templateRepository);
|
||||
var contentRepo = new DocumentRepository(unitOfWork, DisabledCache, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
var tagRepository = new TagRepository((IScopeAccessor) provider, DisabledCache, Logger);
|
||||
var contentTypeRepository = new ContentTypeRepository((IScopeAccessor) provider, DisabledCache, Logger, templateRepository);
|
||||
var contentRepo = new DocumentRepository((IScopeAccessor) provider, DisabledCache, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage");
|
||||
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
|
||||
contentTypeRepository.Save(contentType);
|
||||
var textpage = MockedContent.CreateSimpleContent(contentType);
|
||||
contentRepo.Save(textpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
|
||||
var template = new Template("test", "test")
|
||||
@@ -420,16 +421,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Content = @"<%@ Master Language=""C#"" %>"
|
||||
};
|
||||
templateRepository.Save(template);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
textpage.Template = template;
|
||||
contentRepo.Save(textpage);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var templates = templateRepository.Get("test");
|
||||
templateRepository.Delete(templates);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.IsNull(templateRepository.Get("test"));
|
||||
@@ -440,10 +441,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_Nested_Templates()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var parent = new Template("parent", "parent")
|
||||
{
|
||||
@@ -464,12 +465,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(parent);
|
||||
repository.Save(child);
|
||||
repository.Save(baby);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var templates = repository.Get("parent");
|
||||
repository.Delete(templates);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.IsNull(repository.Get("test"));
|
||||
@@ -480,12 +481,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Get_Template_Tree()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
CreateHierarchy(repository, unitOfWork);
|
||||
CreateHierarchy(repository);
|
||||
|
||||
// Act
|
||||
var rootNode = repository.GetTemplateNode("parent");
|
||||
@@ -507,12 +508,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Get_All()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var created = CreateHierarchy(repository, unitOfWork).ToArray();
|
||||
var created = CreateHierarchy(repository).ToArray();
|
||||
|
||||
// Act
|
||||
var all = repository.GetAll();
|
||||
@@ -535,12 +536,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Get_Children()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var created = CreateHierarchy(repository, unitOfWork).ToArray();
|
||||
var created = CreateHierarchy(repository).ToArray();
|
||||
|
||||
// Act
|
||||
var childrenById = repository.GetChildren(created[1].Id);
|
||||
@@ -559,12 +560,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Get_Children_At_Root()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
CreateHierarchy(repository, unitOfWork).ToArray();
|
||||
CreateHierarchy(repository).ToArray();
|
||||
|
||||
// Act
|
||||
var children = repository.GetChildren(-1);
|
||||
@@ -580,12 +581,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Get_Descendants()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var created = CreateHierarchy(repository, unitOfWork).ToArray();
|
||||
var created = CreateHierarchy(repository).ToArray();
|
||||
|
||||
// Act
|
||||
var descendantsById = repository.GetDescendants(created[1].Id);
|
||||
@@ -605,10 +606,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Path_Is_Set_Correctly_On_Creation()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var parent = new Template("parent", "parent");
|
||||
var child1 = new Template("child1", "child1");
|
||||
@@ -648,7 +649,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(toddler4);
|
||||
repository.Save(baby1);
|
||||
repository.Save(baby2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(string.Format("-1,{0}", parent.Id), parent.Path);
|
||||
@@ -668,10 +669,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Path_Is_Set_Correctly_On_Update()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var parent = new Template("parent", "parent");
|
||||
var child1 = new Template("child1", "child1");
|
||||
@@ -693,12 +694,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(child2);
|
||||
repository.Save(toddler1);
|
||||
repository.Save(toddler2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Act
|
||||
toddler2.SetMasterTemplate(child2);
|
||||
repository.Save(toddler2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual($"-1,{parent.Id},{child2.Id},{toddler2.Id}", toddler2.Path);
|
||||
@@ -709,10 +710,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Path_Is_Set_Correctly_On_Update_With_Master_Template_Removal()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var parent = new Template("parent", "parent");
|
||||
var child1 = new Template("child1", "child1");
|
||||
@@ -722,12 +723,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
repository.Save(parent);
|
||||
repository.Save(child1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Act
|
||||
child1.SetMasterTemplate(null);
|
||||
repository.Save(child1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual($"-1,{child1.Id}", child1.Path);
|
||||
@@ -767,7 +768,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
return stream;
|
||||
}
|
||||
|
||||
private IEnumerable<ITemplate> CreateHierarchy(ITemplateRepository repository, IScopeUnitOfWork unitOfWork)
|
||||
private IEnumerable<ITemplate> CreateHierarchy(ITemplateRepository repository)
|
||||
{
|
||||
var parent = new Template("parent", "parent")
|
||||
{
|
||||
@@ -839,7 +840,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(toddler4);
|
||||
repository.Save(baby1);
|
||||
repository.Save(baby2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
return new[] {parent, child1, child2, toddler1, toddler2, toddler3, toddler4, baby1, baby2};
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Models.Membership;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -17,25 +17,25 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
|
||||
public class UserGroupRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
private UserGroupRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private UserGroupRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
return new UserGroupRepository(unitOfWork, Core.Cache.CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
return new UserGroupRepository((IScopeAccessor) provider, Core.Cache.CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Perform_Add_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroup = MockedUserGroup.CreateUserGroup();
|
||||
|
||||
// Act
|
||||
repository.Save(userGroup);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
// Assert
|
||||
Assert.That(userGroup.HasIdentity, Is.True);
|
||||
@@ -46,19 +46,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Multiple_Adds_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroup1 = MockedUserGroup.CreateUserGroup("1");
|
||||
var userGroup2 = MockedUserGroup.CreateUserGroup("2");
|
||||
|
||||
// Act
|
||||
repository.Save(userGroup1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
repository.Save(userGroup2);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
// Assert
|
||||
Assert.That(userGroup1.HasIdentity, Is.True);
|
||||
@@ -70,14 +70,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_Fresh_Entity_Is_Not_Dirty()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroup = MockedUserGroup.CreateUserGroup();
|
||||
repository.Save(userGroup);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
// Act
|
||||
var resolved = repository.Get(userGroup.Id);
|
||||
@@ -92,21 +92,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Update_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroup = MockedUserGroup.CreateUserGroup();
|
||||
repository.Save(userGroup);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var resolved = repository.Get(userGroup.Id);
|
||||
resolved.Name = "New Name";
|
||||
resolved.Permissions = new[] { "Z", "Y", "X" };
|
||||
repository.Save(resolved);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
var updatedItem = repository.Get(userGroup.Id);
|
||||
|
||||
// Assert
|
||||
@@ -119,21 +119,21 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[Test]
|
||||
public void Can_Perform_Delete_On_UserGroupRepository()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroup = MockedUserGroup.CreateUserGroup();
|
||||
|
||||
// Act
|
||||
repository.Save(userGroup);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var id = userGroup.Id;
|
||||
|
||||
var repository2 = new UserGroupRepository(unitOfWork, Core.Cache.CacheHelper.CreateDisabledCacheHelper(), Logger);
|
||||
var repository2 = new UserGroupRepository((IScopeAccessor) provider, Core.Cache.CacheHelper.CreateDisabledCacheHelper(), Logger);
|
||||
repository2.Delete(userGroup);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
var resolved = repository2.Get(id);
|
||||
|
||||
@@ -146,14 +146,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroup = MockedUserGroup.CreateUserGroup();
|
||||
repository.Save(userGroup);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
// Act
|
||||
var resolved = repository.Get(userGroup.Id);
|
||||
@@ -172,15 +172,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetByQuery_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
CreateAndCommitMultipleUserGroups(repository, unitOfWork);
|
||||
CreateAndCommitMultipleUserGroups(repository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IUserGroup>().Where(x => x.Alias == "testUserGroup1");
|
||||
var query = scope.SqlContext.Query<IUserGroup>().Where(x => x.Alias == "testUserGroup1");
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -192,12 +192,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_By_Param_Ids_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroups = CreateAndCommitMultipleUserGroups(repository, unitOfWork);
|
||||
var userGroups = CreateAndCommitMultipleUserGroups(repository);
|
||||
|
||||
// Act
|
||||
var result = repository.GetMany(userGroups[0].Id, userGroups[1].Id);
|
||||
@@ -213,12 +213,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
CreateAndCommitMultipleUserGroups(repository, unitOfWork);
|
||||
CreateAndCommitMultipleUserGroups(repository);
|
||||
|
||||
// Act
|
||||
var result = repository.GetMany();
|
||||
@@ -234,12 +234,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroups = CreateAndCommitMultipleUserGroups(repository, unitOfWork);
|
||||
var userGroups = CreateAndCommitMultipleUserGroups(repository);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(userGroups[0].Id);
|
||||
@@ -253,15 +253,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Count_On_UserGroupRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var userGroups = CreateAndCommitMultipleUserGroups(repository, unitOfWork);
|
||||
var userGroups = CreateAndCommitMultipleUserGroups(repository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IUserGroup>().Where(x => x.Alias == "testUserGroup1" || x.Alias == "testUserGroup2");
|
||||
var query = scope.SqlContext.Query<IUserGroup>().Where(x => x.Alias == "testUserGroup1" || x.Alias == "testUserGroup2");
|
||||
var result = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
@@ -273,12 +273,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Remove_Section_For_Group()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var groups = CreateAndCommitMultipleUserGroups(repository, unitOfWork);
|
||||
var groups = CreateAndCommitMultipleUserGroups(repository);
|
||||
|
||||
// Act
|
||||
|
||||
@@ -293,7 +293,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
repository.Save(groups[0]);
|
||||
repository.Save(groups[1]);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
// Assert
|
||||
var result = repository.GetMany((int)groups[0].Id, (int)groups[1].Id).ToArray();
|
||||
@@ -308,12 +308,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Add_Section_ForGroup()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var groups = CreateAndCommitMultipleUserGroups(repository, unitOfWork);
|
||||
var groups = CreateAndCommitMultipleUserGroups(repository);
|
||||
|
||||
// Act
|
||||
|
||||
@@ -336,7 +336,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(groups[0]);
|
||||
repository.Save(groups[1]);
|
||||
repository.Save(groups[2]);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
for (var i = 0; i < 3; i++)
|
||||
Assert.IsNotNull(repository.Get(groups[i].Id));
|
||||
@@ -359,12 +359,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Update_Section_For_Group()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var groups = CreateAndCommitMultipleUserGroups(repository, unitOfWork);
|
||||
var groups = CreateAndCommitMultipleUserGroups(repository);
|
||||
|
||||
// Act
|
||||
|
||||
@@ -372,7 +372,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
groups[0].AddAllowedSection("settings");
|
||||
|
||||
repository.Save(groups[0]);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
// Assert
|
||||
var result = repository.Get(groups[0].Id);
|
||||
@@ -387,10 +387,10 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Get_Groups_Assigned_To_Section()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var user1 = MockedUserGroup.CreateUserGroup("1", allowedSections: new[] { "test1" });
|
||||
var user2 = MockedUserGroup.CreateUserGroup("2", allowedSections: new[] { "test2" });
|
||||
@@ -398,7 +398,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(user1);
|
||||
repository.Save(user2);
|
||||
repository.Save(user3);
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
|
||||
// Act
|
||||
var groups = repository.GetGroupsAssignedToSection("test1");
|
||||
@@ -412,7 +412,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
}
|
||||
}
|
||||
|
||||
private IUserGroup[] CreateAndCommitMultipleUserGroups(IUserGroupRepository repository, IUnitOfWork unitOfWork)
|
||||
private IUserGroup[] CreateAndCommitMultipleUserGroups(IUserGroupRepository repository)
|
||||
{
|
||||
var userGroup1 = MockedUserGroup.CreateUserGroup("1");
|
||||
var userGroup2 = MockedUserGroup.CreateUserGroup("2");
|
||||
@@ -420,7 +420,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(userGroup1);
|
||||
repository.Save(userGroup2);
|
||||
repository.Save(userGroup3);
|
||||
unitOfWork.Complete();
|
||||
|
||||
return new IUserGroup[] { userGroup1, userGroup2, userGroup3 };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ using Umbraco.Core.Models.Membership;
|
||||
using Umbraco.Core.Persistence.Mappers;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -21,54 +21,58 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
|
||||
public class UserRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
private MediaRepository CreateMediaRepository(IScopeUnitOfWork unitOfWork, out IMediaTypeRepository mediaTypeRepository)
|
||||
private MediaRepository CreateMediaRepository(IScopeProvider provider, out IMediaTypeRepository mediaTypeRepository)
|
||||
{
|
||||
mediaTypeRepository = new MediaTypeRepository(unitOfWork, CacheHelper, Mock.Of<ILogger>());
|
||||
var tagRepository = new TagRepository(unitOfWork, CacheHelper, Mock.Of<ILogger>());
|
||||
var repository = new MediaRepository(unitOfWork, CacheHelper, Mock.Of<ILogger>(), mediaTypeRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
mediaTypeRepository = new MediaTypeRepository(accessor, CacheHelper, Mock.Of<ILogger>());
|
||||
var tagRepository = new TagRepository(accessor, CacheHelper, Mock.Of<ILogger>());
|
||||
var repository = new MediaRepository(accessor, CacheHelper, Mock.Of<ILogger>(), mediaTypeRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
|
||||
private DocumentRepository CreateContentRepository(IScopeUnitOfWork unitOfWork, out IContentTypeRepository contentTypeRepository)
|
||||
private DocumentRepository CreateContentRepository(IScopeProvider provider, out IContentTypeRepository contentTypeRepository)
|
||||
{
|
||||
ITemplateRepository tr;
|
||||
return CreateContentRepository(unitOfWork, out contentTypeRepository, out tr);
|
||||
return CreateContentRepository(provider, out contentTypeRepository, out tr);
|
||||
}
|
||||
|
||||
private DocumentRepository CreateContentRepository(IScopeUnitOfWork unitOfWork, out IContentTypeRepository contentTypeRepository, out ITemplateRepository templateRepository)
|
||||
private DocumentRepository CreateContentRepository(IScopeProvider provider, out IContentTypeRepository contentTypeRepository, out ITemplateRepository templateRepository)
|
||||
{
|
||||
templateRepository = new TemplateRepository(unitOfWork, CacheHelper, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepository = new TagRepository(unitOfWork, CacheHelper, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, CacheHelper, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
templateRepository = new TemplateRepository(accessor, CacheHelper, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepository = new TagRepository(accessor, CacheHelper, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(accessor, CacheHelper, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(accessor, CacheHelper, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
|
||||
private UserRepository CreateRepository(IScopeUnitOfWork unitOfWork)
|
||||
private UserRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
var repository = new UserRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), Mock.Of<IMapperCollection>());
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
var repository = new UserRepository(accessor, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), Mock.Of<IMapperCollection>());
|
||||
return repository;
|
||||
}
|
||||
|
||||
private UserGroupRepository CreateUserGroupRepository(IScopeUnitOfWork unitOfWork)
|
||||
private UserGroupRepository CreateUserGroupRepository(IScopeProvider provider)
|
||||
{
|
||||
return new UserGroupRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
return new UserGroupRepository(accessor, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Perform_Add_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var user = MockedUser.CreateUser();
|
||||
|
||||
// Act
|
||||
repository.Save(user);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(user.HasIdentity, Is.True);
|
||||
@@ -79,19 +83,19 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Multiple_Adds_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var user1 = MockedUser.CreateUser("1");
|
||||
var use2 = MockedUser.CreateUser("2");
|
||||
|
||||
// Act
|
||||
repository.Save(user1);
|
||||
unitOfWork.Flush();
|
||||
|
||||
repository.Save(use2);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(user1.HasIdentity, Is.True);
|
||||
@@ -103,14 +107,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Verify_Fresh_Entity_Is_Not_Dirty()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var user = MockedUser.CreateUser();
|
||||
repository.Save(user);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
// Act
|
||||
var resolved = repository.Get((int)user.Id);
|
||||
@@ -130,23 +134,23 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var media = MockedMedia.CreateSimpleMedia(mt, "asdf", -1);
|
||||
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var userRepository = CreateRepository(unitOfWork);
|
||||
var contentRepository = CreateContentRepository(unitOfWork, out var contentTypeRepo);
|
||||
var mediaRepository = CreateMediaRepository(unitOfWork, out var mediaTypeRepo);
|
||||
var userGroupRepository = CreateUserGroupRepository(unitOfWork);
|
||||
var userRepository = CreateRepository(provider);
|
||||
var contentRepository = CreateContentRepository(provider, out var contentTypeRepo);
|
||||
var mediaRepository = CreateMediaRepository(provider, out var mediaTypeRepo);
|
||||
var userGroupRepository = CreateUserGroupRepository(provider);
|
||||
|
||||
contentTypeRepo.Save(ct);
|
||||
mediaTypeRepo.Save(mt);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
contentRepository.Save(content);
|
||||
mediaRepository.Save(media);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var user = CreateAndCommitUserWithGroup(userRepository, userGroupRepository, unitOfWork);
|
||||
var user = CreateAndCommitUserWithGroup(userRepository, userGroupRepository);
|
||||
|
||||
// Act
|
||||
var resolved = (User) userRepository.Get(user.Id);
|
||||
@@ -164,7 +168,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
resolved.Username = "newName";
|
||||
|
||||
userRepository.Save(resolved);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var updatedItem = (User) userRepository.Get(user.Id);
|
||||
|
||||
// Assert
|
||||
@@ -188,22 +192,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Delete_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var user = MockedUser.CreateUser();
|
||||
|
||||
// Act
|
||||
repository.Save(user);
|
||||
unitOfWork.Flush();
|
||||
|
||||
var id = user.Id;
|
||||
|
||||
var repository2 = new UserRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, Mock.Of<IMapperCollection>());
|
||||
var repository2 = new UserRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Logger, Mock.Of<IMapperCollection>());
|
||||
|
||||
repository2.Delete(user);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var resolved = repository2.Get((int) id);
|
||||
|
||||
@@ -217,13 +221,13 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Get_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var userGroupRepository = CreateUserGroupRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
var userGroupRepository = CreateUserGroupRepository(provider);
|
||||
|
||||
var user = CreateAndCommitUserWithGroup(repository, userGroupRepository, unitOfWork);
|
||||
var user = CreateAndCommitUserWithGroup(repository, userGroupRepository);
|
||||
|
||||
// Act
|
||||
var updatedItem = repository.Get(user.Id);
|
||||
@@ -241,15 +245,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetByQuery_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
CreateAndCommitMultipleUsers(repository, unitOfWork);
|
||||
CreateAndCommitMultipleUsers(repository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IUser>().Where(x => x.Username == "TestUser1");
|
||||
var query = scope.SqlContext.Query<IUser>().Where(x => x.Username == "TestUser1");
|
||||
var result = repository.Get(query);
|
||||
|
||||
// Assert
|
||||
@@ -261,12 +265,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_By_Param_Ids_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var users = CreateAndCommitMultipleUsers(repository, unitOfWork);
|
||||
var users = CreateAndCommitMultipleUsers(repository);
|
||||
|
||||
// Act
|
||||
var result = repository.GetMany((int) users[0].Id, (int) users[1].Id);
|
||||
@@ -282,12 +286,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_GetAll_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
CreateAndCommitMultipleUsers(repository, unitOfWork);
|
||||
CreateAndCommitMultipleUsers(repository);
|
||||
|
||||
// Act
|
||||
var result = repository.GetMany();
|
||||
@@ -303,12 +307,12 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Exists_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var users = CreateAndCommitMultipleUsers(repository, unitOfWork);
|
||||
var users = CreateAndCommitMultipleUsers(repository);
|
||||
|
||||
// Act
|
||||
var exists = repository.Exists(users[0].Id);
|
||||
@@ -322,15 +326,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
public void Can_Perform_Count_On_UserRepository()
|
||||
{
|
||||
// Arrange
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = CreateRepository(unitOfWork);
|
||||
var repository = CreateRepository(provider);
|
||||
|
||||
var users = CreateAndCommitMultipleUsers(repository, unitOfWork);
|
||||
var users = CreateAndCommitMultipleUsers(repository);
|
||||
|
||||
// Act
|
||||
var query = unitOfWork.SqlContext.Query<IUser>().Where(x => x.Username == "TestUser1" || x.Username == "TestUser2");
|
||||
var query = scope.SqlContext.Query<IUser>().Where(x => x.Username == "TestUser1" || x.Username == "TestUser2");
|
||||
var result = repository.Count(query);
|
||||
|
||||
// Assert
|
||||
@@ -355,20 +359,20 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.IsTrue(updatedItem.AllowedSections.Contains(allowedSection));
|
||||
}
|
||||
|
||||
private static User CreateAndCommitUserWithGroup(IUserRepository repository, IUserGroupRepository userGroupRepository, IScopeUnitOfWork unitOfWork)
|
||||
private static User CreateAndCommitUserWithGroup(IUserRepository repository, IUserGroupRepository userGroupRepository)
|
||||
{
|
||||
var user = MockedUser.CreateUser();
|
||||
repository.Save(user);
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
var group = MockedUserGroup.CreateUserGroup();
|
||||
userGroupRepository.AddOrUpdateGroupWithUsers(@group, new[] { user.Id });
|
||||
unitOfWork.Flush();
|
||||
|
||||
|
||||
return user;
|
||||
}
|
||||
|
||||
private IUser[] CreateAndCommitMultipleUsers(IUserRepository repository, IUnitOfWork unitOfWork)
|
||||
private IUser[] CreateAndCommitMultipleUsers(IUserRepository repository)
|
||||
{
|
||||
var user1 = MockedUser.CreateUser("1");
|
||||
var user2 = MockedUser.CreateUser("2");
|
||||
@@ -376,7 +380,6 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.Save(user1);
|
||||
repository.Save(user2);
|
||||
repository.Save(user3);
|
||||
unitOfWork.Complete();
|
||||
return new IUser[] { user1, user2, user3 };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,10 +13,10 @@ namespace Umbraco.Tests.Persistence
|
||||
[Test]
|
||||
public void ReadLockNonExisting()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
Assert.Throws<Exception>(() =>
|
||||
{
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
scope.ReadLock(-666);
|
||||
scope.Complete();
|
||||
@@ -27,8 +27,8 @@ namespace Umbraco.Tests.Persistence
|
||||
[Test]
|
||||
public void ReadLockExisting()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
scope.ReadLock(Constants.Locks.Servers);
|
||||
scope.Complete();
|
||||
@@ -38,10 +38,10 @@ namespace Umbraco.Tests.Persistence
|
||||
[Test]
|
||||
public void WriteLockNonExisting()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
Assert.Throws<Exception>(() =>
|
||||
{
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
scope.WriteLock(-666);
|
||||
scope.Complete();
|
||||
@@ -52,8 +52,8 @@ namespace Umbraco.Tests.Persistence
|
||||
[Test]
|
||||
public void WriteLockExisting()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
scope.WriteLock(Constants.Locks.Servers);
|
||||
scope.Complete();
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace Umbraco.Tests.PublishedContent
|
||||
/// <returns></returns>
|
||||
internal IPublishedContent GetNode(int id, UmbracoContext umbracoContext)
|
||||
{
|
||||
var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null), Current.Services.MediaService, Current.Services.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null), Current.Services.MediaService, Current.Services.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var doc = cache.GetById(id);
|
||||
Assert.IsNotNull(doc);
|
||||
return doc;
|
||||
@@ -458,7 +458,7 @@ namespace Umbraco.Tests.PublishedContent
|
||||
</Image>");
|
||||
var node = xml.DescendantsAndSelf("Image").Single(x => (int)x.Attribute("id") == nodeId);
|
||||
|
||||
var publishedMedia = new PublishedMediaCache(new XmlStore((XmlDocument)null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var publishedMedia = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
|
||||
var nav = node.CreateNavigator();
|
||||
|
||||
@@ -478,7 +478,7 @@ namespace Umbraco.Tests.PublishedContent
|
||||
var errorXml = new XElement("error", string.Format("No media is maching '{0}'", 1234));
|
||||
var nav = errorXml.CreateNavigator();
|
||||
|
||||
var publishedMedia = new PublishedMediaCache(new XmlStore((XmlDocument)null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var publishedMedia = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null), ServiceContext.MediaService, ServiceContext.UserService, new StaticCacheProvider(), ContentTypesCache);
|
||||
var converted = publishedMedia.ConvertFromXPathNodeIterator(nav.Select("/"), 1234);
|
||||
|
||||
Assert.IsNull(converted);
|
||||
|
||||
@@ -79,10 +79,10 @@ namespace Umbraco.Tests.Scoping
|
||||
runtimeStateMock.Object,
|
||||
ServiceContext,
|
||||
contentTypeFactory,
|
||||
UowProvider,
|
||||
publishedSnapshotAccessor,
|
||||
Logger,
|
||||
ScopeProvider);
|
||||
ScopeProvider,
|
||||
null, null, null);
|
||||
}
|
||||
|
||||
protected UmbracoContext GetUmbracoContextNu(string url, int templateId = 1234, RouteData routeData = null, bool setSingleton = false, IUmbracoSettingsSection umbracoSettings = null, IEnumerable<IUrlProvider> urlProviders = null)
|
||||
|
||||
@@ -12,6 +12,7 @@ using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.TestHelpers.Stubs;
|
||||
@@ -157,13 +158,13 @@ namespace Umbraco.Tests.Services
|
||||
var pages = MockedContent.CreateTextpageContent(contentType, -1, 100);
|
||||
ServiceContext.ContentService.Save(pages, 0);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var tRepository = new TemplateRepository(unitOfWork, DisabledCache, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepo = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
var ctRepository = new ContentTypeRepository(unitOfWork, DisabledCache, Logger, tRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, DisabledCache, Logger, ctRepository, tRepository, tagRepo, Mock.Of<IContentSection>());
|
||||
var tRepository = new TemplateRepository((IScopeAccessor) provider, DisabledCache, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepo = new TagRepository((IScopeAccessor) provider, DisabledCache, Logger);
|
||||
var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, DisabledCache, Logger, tRepository);
|
||||
var repository = new DocumentRepository((IScopeAccessor) provider, DisabledCache, Logger, ctRepository, tRepository, tagRepo, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
Stopwatch watch = Stopwatch.StartNew();
|
||||
@@ -189,13 +190,13 @@ namespace Umbraco.Tests.Services
|
||||
var pages = MockedContent.CreateTextpageContent(contentType, -1, 1000);
|
||||
ServiceContext.ContentService.Save(pages, 0);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var tRepository = new TemplateRepository(unitOfWork, DisabledCache, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepo = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
var ctRepository = new ContentTypeRepository(unitOfWork, DisabledCache, Logger, tRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, DisabledCache, Logger, ctRepository, tRepository, tagRepo, Mock.Of<IContentSection>());
|
||||
var tRepository = new TemplateRepository((IScopeAccessor) provider, DisabledCache, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepo = new TagRepository((IScopeAccessor) provider, DisabledCache, Logger);
|
||||
var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, DisabledCache, Logger, tRepository);
|
||||
var repository = new DocumentRepository((IScopeAccessor) provider, DisabledCache, Logger, ctRepository, tRepository, tagRepo, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
Stopwatch watch = Stopwatch.StartNew();
|
||||
@@ -219,13 +220,13 @@ namespace Umbraco.Tests.Services
|
||||
var pages = MockedContent.CreateTextpageContent(contentType, -1, 100);
|
||||
ServiceContext.ContentService.Save(pages, 0);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var tRepository = new TemplateRepository(unitOfWork, DisabledCache, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepo = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
var ctRepository = new ContentTypeRepository(unitOfWork, DisabledCache, Logger, tRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, DisabledCache, Logger, ctRepository, tRepository, tagRepo, Mock.Of<IContentSection>());
|
||||
var tRepository = new TemplateRepository((IScopeAccessor) provider, DisabledCache, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepo = new TagRepository((IScopeAccessor) provider, DisabledCache, Logger);
|
||||
var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, DisabledCache, Logger, tRepository);
|
||||
var repository = new DocumentRepository((IScopeAccessor) provider, DisabledCache, Logger, ctRepository, tRepository, tagRepo, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
var contents = repository.GetMany();
|
||||
@@ -252,13 +253,13 @@ namespace Umbraco.Tests.Services
|
||||
var pages = MockedContent.CreateTextpageContent(contentType, -1, 1000);
|
||||
ServiceContext.ContentService.Save(pages, 0);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var tRepository = new TemplateRepository(unitOfWork, DisabledCache, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepo = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
var ctRepository = new ContentTypeRepository(unitOfWork, DisabledCache, Logger, tRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, DisabledCache, Logger, ctRepository, tRepository, tagRepo, Mock.Of<IContentSection>());
|
||||
var tRepository = new TemplateRepository((IScopeAccessor) provider, DisabledCache, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepo = new TagRepository((IScopeAccessor) provider, DisabledCache, Logger);
|
||||
var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, DisabledCache, Logger, tRepository);
|
||||
var repository = new DocumentRepository((IScopeAccessor) provider, DisabledCache, Logger, ctRepository, tRepository, tagRepo, Mock.Of<IContentSection>());
|
||||
|
||||
// Act
|
||||
var contents = repository.GetMany();
|
||||
|
||||
@@ -14,12 +14,12 @@ using Umbraco.Core.Models.Membership;
|
||||
using Umbraco.Core.Models.Rdbms;
|
||||
using LightInject;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Core.Events;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
namespace Umbraco.Tests.Services
|
||||
@@ -1202,10 +1202,9 @@ namespace Umbraco.Tests.Services
|
||||
content.PublishValues();
|
||||
var published = contentService.SaveAndPublish(content, 0);
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
Assert.IsTrue(uow.Database.Exists<ContentXmlDto>(content.Id));
|
||||
Assert.IsTrue(scope.Database.Exists<ContentXmlDto>(content.Id));
|
||||
}
|
||||
|
||||
// Act
|
||||
@@ -1216,9 +1215,9 @@ namespace Umbraco.Tests.Services
|
||||
Assert.That(unpublished.Success, Is.True);
|
||||
Assert.That(content.Published, Is.False);
|
||||
|
||||
using (var uow = provider.CreateUnitOfWork())
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
Assert.IsFalse(uow.Database.Exists<ContentXmlDto>(content.Id));
|
||||
Assert.IsFalse(scope.Database.Exists<ContentXmlDto>(content.Id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2114,7 +2113,7 @@ namespace Umbraco.Tests.Services
|
||||
[Test]
|
||||
public void Can_Save_Lazy_Content()
|
||||
{
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Mock.Of<ILogger>());
|
||||
var provider = TestObjects.GetScopeProvider(Mock.Of<ILogger>());
|
||||
var contentType = ServiceContext.ContentTypeService.Get("umbTextpage");
|
||||
var root = ServiceContext.ContentService.GetById(NodeDto.NodeIdSeed + 2);
|
||||
|
||||
@@ -2122,15 +2121,14 @@ namespace Umbraco.Tests.Services
|
||||
var c2 = new Lazy<IContent>(() => MockedContent.CreateSimpleContent(contentType, "Hierarchy Simple Text Subpage", c.Value.Id));
|
||||
var list = new List<Lazy<IContent>> {c, c2};
|
||||
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
ContentTypeRepository contentTypeRepository;
|
||||
var repository = CreateRepository(unitOfWork, out contentTypeRepository);
|
||||
var repository = CreateRepository(provider, out contentTypeRepository);
|
||||
|
||||
foreach (var content in list)
|
||||
{
|
||||
repository.Save(content.Value);
|
||||
unitOfWork.Flush();
|
||||
}
|
||||
|
||||
Assert.That(c.Value.HasIdentity, Is.True);
|
||||
@@ -2213,7 +2211,7 @@ namespace Umbraco.Tests.Services
|
||||
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
Assert.IsFalse(uow.Database.Exists<ContentXmlDto>(content.Id));
|
||||
Assert.IsFalse(scope.Database.Exists<ContentXmlDto>(content.Id));
|
||||
}
|
||||
|
||||
content.PublishValues();
|
||||
@@ -2221,7 +2219,7 @@ namespace Umbraco.Tests.Services
|
||||
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
Assert.IsTrue(uow.Database.Exists<ContentXmlDto>(content.Id));
|
||||
Assert.IsTrue(scope.Database.Exists<ContentXmlDto>(content.Id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2236,7 +2234,7 @@ namespace Umbraco.Tests.Services
|
||||
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
Assert.IsTrue(uow.Database.SingleOrDefault<PreviewXmlDto>("WHERE nodeId=@nodeId", new{nodeId = content.Id}) != null);
|
||||
Assert.IsTrue(scope.Database.SingleOrDefault<PreviewXmlDto>("WHERE nodeId=@nodeId", new{nodeId = content.Id}) != null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2472,12 +2470,13 @@ namespace Umbraco.Tests.Services
|
||||
return list;
|
||||
}
|
||||
|
||||
private DocumentRepository CreateRepository(IScopeUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository)
|
||||
private DocumentRepository CreateRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository)
|
||||
{
|
||||
var templateRepository = new TemplateRepository(unitOfWork, DisabledCache, Logger, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>());
|
||||
var tagRepository = new TagRepository(unitOfWork, DisabledCache, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(unitOfWork, DisabledCache, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(unitOfWork, DisabledCache, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
var templateRepository = new TemplateRepository(accessor, DisabledCache, Logger, Mock.Of<ITemplatesSection>(), Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>());
|
||||
var tagRepository = new TagRepository(accessor, DisabledCache, Logger);
|
||||
contentTypeRepository = new ContentTypeRepository(accessor, DisabledCache, Logger, templateRepository);
|
||||
var repository = new DocumentRepository(accessor, DisabledCache, Logger, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
||||
return repository;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ using Umbraco.Core.Models;
|
||||
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
namespace Umbraco.Tests.Services
|
||||
@@ -20,15 +21,15 @@ namespace Umbraco.Tests.Services
|
||||
{
|
||||
base.CreateTestData();
|
||||
|
||||
var provider = TestObjects.GetScopeUnitOfWorkProvider(Logger);
|
||||
using (var unitOfWork = provider.CreateUnitOfWork())
|
||||
var provider = TestObjects.GetScopeProvider(Logger);
|
||||
using (var scope = provider.CreateScope())
|
||||
{
|
||||
var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
var repository = new MacroRepository((IScopeAccessor) provider, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
|
||||
repository.Save(new Macro("test1", "Test1", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml"));
|
||||
repository.Save(new Macro("test2", "Test2", "~/usercontrol/test2.ascx", "MyAssembly2", "test2.xslt", "~/views/macropartials/test2.cshtml"));
|
||||
repository.Save(new Macro("test3", "Tet3", "~/usercontrol/test3.ascx", "MyAssembly3", "test3.xslt", "~/views/macropartials/test3.cshtml"));
|
||||
unitOfWork.Complete();
|
||||
scope.Complete();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ using Umbraco.Core.Models.Rdbms;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.TestHelpers.Entities;
|
||||
using Umbraco.Tests.Testing;
|
||||
@@ -123,7 +122,7 @@ namespace Umbraco.Tests.Services
|
||||
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
Assert.IsTrue(uow.Database.Exists<ContentXmlDto>(media.Id));
|
||||
Assert.IsTrue(scope.Database.Exists<ContentXmlDto>(media.Id));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1182,7 +1182,7 @@ namespace Umbraco.Tests.Services
|
||||
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
Assert.IsTrue(uow.Database.Exists<ContentXmlDto>(customMember.Id));
|
||||
Assert.IsTrue(scope.Database.Exists<ContentXmlDto>(customMember.Id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Querying;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
|
||||
namespace Umbraco.Tests.Templates
|
||||
@@ -31,11 +31,13 @@ namespace Umbraco.Tests.Templates
|
||||
{
|
||||
var logger = Mock.Of<ILogger>();
|
||||
|
||||
var unitOfWorkMock = new Mock<IScopeUnitOfWork>();
|
||||
var accessorMock = new Mock<IScopeAccessor>();
|
||||
var scopeMock = new Mock<IScope>();
|
||||
var database = TestObjects.GetUmbracoSqlCeDatabase(logger);
|
||||
unitOfWorkMock.Setup(x => x.Database).Returns(database);
|
||||
scopeMock.Setup(x => x.Database).Returns(database);
|
||||
accessorMock.Setup(x => x.AmbientScope).Returns(scopeMock.Object);
|
||||
|
||||
_templateRepository = new TemplateRepository(unitOfWorkMock.Object, _cacheMock.Object, logger, _masterpageFileSystemMock.Object, _viewFileSystemMock.Object, _templateConfigMock.Object);
|
||||
_templateRepository = new TemplateRepository(accessorMock.Object, _cacheMock.Object, logger, _templateConfigMock.Object, _masterpageFileSystemMock.Object, _viewFileSystemMock.Object);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ using Umbraco.Core.Configuration.UmbracoSettings;
|
||||
using Umbraco.Core.Events;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Tests.TestHelpers.Stubs;
|
||||
using Umbraco.Web;
|
||||
@@ -77,14 +76,6 @@ namespace Umbraco.Tests.TestHelpers
|
||||
MockService<IMacroService>());
|
||||
}
|
||||
|
||||
public static IScopeUnitOfWork GetUnitOfWorkMock()
|
||||
{
|
||||
var unitOfWorkMock = new Mock<IScopeUnitOfWork>();
|
||||
unitOfWorkMock.Setup(x => x.Messages).Returns(() => new EventMessages());
|
||||
unitOfWorkMock.Setup(x => x.Events).Returns(() => new PassThroughEventDispatcher());
|
||||
return unitOfWorkMock.Object;
|
||||
}
|
||||
|
||||
private T MockService<T>(IServiceFactory container = null)
|
||||
where T : class
|
||||
{
|
||||
|
||||
@@ -13,8 +13,8 @@ using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Mappers;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.SqlSyntax;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Core.Strings;
|
||||
@@ -96,31 +96,30 @@ namespace Umbraco.Tests.TestHelpers
|
||||
/// <returns>A ServiceContext.</returns>
|
||||
/// <remarks>Should be used sparingly for integration tests only - for unit tests
|
||||
/// just mock the services to be passed to the ctor of the ServiceContext.</remarks>
|
||||
public ServiceContext GetServiceContext(RepositoryFactory repositoryFactory,
|
||||
IScopeUnitOfWorkProvider dbUnitOfWorkProvider,
|
||||
public ServiceContext GetServiceContext(
|
||||
IScopeProvider scopeProvider, IScopeAccessor scopeAccessor,
|
||||
CacheHelper cache,
|
||||
ILogger logger,
|
||||
IEventMessagesFactory eventMessagesFactory,
|
||||
IEnumerable<IUrlSegmentProvider> urlSegmentProviders,
|
||||
IServiceFactory container = null)
|
||||
{
|
||||
if (repositoryFactory == null) throw new ArgumentNullException(nameof(repositoryFactory));
|
||||
if (dbUnitOfWorkProvider == null) throw new ArgumentNullException(nameof(dbUnitOfWorkProvider));
|
||||
if (scopeProvider == null) throw new ArgumentNullException(nameof(scopeProvider));
|
||||
if (scopeAccessor == null) throw new ArgumentNullException(nameof(scopeAccessor));
|
||||
if (cache == null) throw new ArgumentNullException(nameof(cache));
|
||||
if (logger == null) throw new ArgumentNullException(nameof(logger));
|
||||
if (eventMessagesFactory == null) throw new ArgumentNullException(nameof(eventMessagesFactory));
|
||||
|
||||
var provider = dbUnitOfWorkProvider;
|
||||
var mediaFileSystem = new MediaFileSystem(Mock.Of<IFileSystem>());
|
||||
|
||||
var migrationEntryService = GetLazyService<IMigrationEntryService>(container, () => new MigrationEntryService(provider, logger, eventMessagesFactory));
|
||||
var externalLoginService = GetLazyService<IExternalLoginService>(container, () => new ExternalLoginService(provider, logger, eventMessagesFactory));
|
||||
var publicAccessService = GetLazyService<IPublicAccessService>(container, () => new PublicAccessService(provider, logger, eventMessagesFactory));
|
||||
var taskService = GetLazyService<ITaskService>(container, () => new TaskService(provider, logger, eventMessagesFactory));
|
||||
var domainService = GetLazyService<IDomainService>(container, () => new DomainService(provider, logger, eventMessagesFactory));
|
||||
var auditService = GetLazyService<IAuditService>(container, () => new AuditService(provider, logger, eventMessagesFactory));
|
||||
var migrationEntryService = GetLazyService<IMigrationEntryService>(container, c => new MigrationEntryService(scopeProvider, logger, eventMessagesFactory, GetRepo<IMigrationEntryRepository>(c)));
|
||||
var externalLoginService = GetLazyService<IExternalLoginService>(container, c => new ExternalLoginService(scopeProvider, logger, eventMessagesFactory, GetRepo<IExternalLoginRepository>(c)));
|
||||
var publicAccessService = GetLazyService<IPublicAccessService>(container, c => new PublicAccessService(scopeProvider, logger, eventMessagesFactory, GetRepo<IPublicAccessRepository>(c)));
|
||||
var taskService = GetLazyService<ITaskService>(container, c => new TaskService(scopeProvider, logger, eventMessagesFactory, GetRepo<ITaskTypeRepository>(c), GetRepo<ITaskRepository>(c)));
|
||||
var domainService = GetLazyService<IDomainService>(container, c => new DomainService(scopeProvider, logger, eventMessagesFactory, GetRepo<IDomainRepository>(c)));
|
||||
var auditService = GetLazyService<IAuditService>(container, c => new AuditService(scopeProvider, logger, eventMessagesFactory, GetRepo<IAuditRepository>(c)));
|
||||
|
||||
var localizedTextService = GetLazyService<ILocalizedTextService>(container, () => new LocalizedTextService(
|
||||
var localizedTextService = GetLazyService<ILocalizedTextService>(container, c => new LocalizedTextService(
|
||||
new Lazy<LocalizedTextServiceFileSources>(() =>
|
||||
{
|
||||
var mainLangFolder = new DirectoryInfo(IOHelper.MapPath(SystemDirectories.Umbraco + "/config/lang/"));
|
||||
@@ -153,36 +152,37 @@ namespace Umbraco.Tests.TestHelpers
|
||||
logger));
|
||||
|
||||
var runtimeState = Mock.Of<IRuntimeState>();
|
||||
var idkMap = new IdkMap(provider);
|
||||
var idkMap = new IdkMap(scopeProvider);
|
||||
|
||||
var userService = GetLazyService<IUserService>(container, () => new UserService(provider, logger, eventMessagesFactory, runtimeState));
|
||||
var dataTypeService = GetLazyService<IDataTypeService>(container, () => new DataTypeService(provider, logger, eventMessagesFactory));
|
||||
var contentService = GetLazyService<IContentService>(container, () => new ContentService(provider, logger, eventMessagesFactory, mediaFileSystem));
|
||||
var notificationService = GetLazyService<INotificationService>(container, () => new NotificationService(provider, userService.Value, contentService.Value, logger));
|
||||
var serverRegistrationService = GetLazyService<IServerRegistrationService>(container, () => new ServerRegistrationService(provider, logger, eventMessagesFactory));
|
||||
var memberGroupService = GetLazyService<IMemberGroupService>(container, () => new MemberGroupService(provider, logger, eventMessagesFactory));
|
||||
var memberService = GetLazyService<IMemberService>(container, () => new MemberService(provider, logger, eventMessagesFactory, memberGroupService.Value, mediaFileSystem));
|
||||
var mediaService = GetLazyService<IMediaService>(container, () => new MediaService(provider, mediaFileSystem, logger, eventMessagesFactory));
|
||||
var contentTypeService = GetLazyService<IContentTypeService>(container, () => new ContentTypeService(provider, logger, eventMessagesFactory, contentService.Value));
|
||||
var mediaTypeService = GetLazyService<IMediaTypeService>(container, () => new MediaTypeService(provider, logger, eventMessagesFactory, mediaService.Value));
|
||||
var fileService = GetLazyService<IFileService>(container, () => new FileService(provider, logger, eventMessagesFactory));
|
||||
var localizationService = GetLazyService<ILocalizationService>(container, () => new LocalizationService(provider, logger, eventMessagesFactory));
|
||||
var userService = GetLazyService<IUserService>(container, c => new UserService(scopeProvider, logger, eventMessagesFactory, runtimeState, GetRepo<IUserRepository>(c), GetRepo<IUserGroupRepository>(c)));
|
||||
var dataTypeService = GetLazyService<IDataTypeService>(container, c => new DataTypeService(scopeProvider, logger, eventMessagesFactory, GetRepo<IDataTypeDefinitionRepository>(c), GetRepo<IDataTypeContainerRepository>(c), GetRepo<IAuditRepository>(c), GetRepo<IEntityRepository>(c), GetRepo<IContentTypeRepository>(c)));
|
||||
var contentService = GetLazyService<IContentService>(container, c => new ContentService(scopeProvider, logger, eventMessagesFactory, mediaFileSystem, GetRepo<IDocumentRepository>(c), GetRepo<IEntityRepository>(c), GetRepo<IAuditRepository>(c), GetRepo<IContentTypeRepository>(c), GetRepo<IDocumentBlueprintRepository>(c)));
|
||||
var notificationService = GetLazyService<INotificationService>(container, c => new NotificationService(scopeProvider, userService.Value, contentService.Value, logger, GetRepo<INotificationsRepository>(c)));
|
||||
var serverRegistrationService = GetLazyService<IServerRegistrationService>(container, c => new ServerRegistrationService(scopeProvider, logger, eventMessagesFactory, GetRepo<IServerRegistrationRepository>(c)));
|
||||
var memberGroupService = GetLazyService<IMemberGroupService>(container, c => new MemberGroupService(scopeProvider, logger, eventMessagesFactory, GetRepo<IMemberGroupRepository>(c)));
|
||||
var memberService = GetLazyService<IMemberService>(container, c => new MemberService(scopeProvider, logger, eventMessagesFactory, memberGroupService.Value, mediaFileSystem, GetRepo<IMemberRepository>(c), GetRepo<IMemberTypeRepository>(c), GetRepo<IMemberGroupRepository>(c), GetRepo<IAuditRepository>(c)));
|
||||
var mediaService = GetLazyService<IMediaService>(container, c => new MediaService(scopeProvider, mediaFileSystem, logger, eventMessagesFactory, GetRepo<IMediaRepository>(c), GetRepo<IAuditRepository>(c), GetRepo<IMediaTypeRepository>(c), GetRepo<IEntityRepository>(c)));
|
||||
var contentTypeService = GetLazyService<IContentTypeService>(container, c => new ContentTypeService(scopeProvider, logger, eventMessagesFactory, contentService.Value, GetRepo<IContentTypeRepository>(c), GetRepo<IAuditRepository>(c), GetRepo<IDocumentTypeContainerRepository>(c), GetRepo<IEntityRepository>(c)));
|
||||
var mediaTypeService = GetLazyService<IMediaTypeService>(container, c => new MediaTypeService(scopeProvider, logger, eventMessagesFactory, mediaService.Value, GetRepo<IMediaTypeRepository>(c), GetRepo<IAuditRepository>(c), GetRepo<IMediaTypeContainerRepository>(c), GetRepo<IEntityRepository>(c)));
|
||||
var fileService = GetLazyService<IFileService>(container, c => new FileService(scopeProvider, logger, eventMessagesFactory, GetRepo<IStylesheetRepository>(c), GetRepo<IScriptRepository>(c), GetRepo<ITemplateRepository>(c), GetRepo<IPartialViewRepository>(c), GetRepo<IPartialViewMacroRepository>(c), GetRepo<IXsltFileRepository>(c), GetRepo<IAuditRepository>(c)));
|
||||
var localizationService = GetLazyService<ILocalizationService>(container, c => new LocalizationService(scopeProvider, logger, eventMessagesFactory, GetRepo<IDictionaryRepository>(c), GetRepo<IAuditRepository>(c), GetRepo<ILanguageRepository>(c)));
|
||||
|
||||
var memberTypeService = GetLazyService<IMemberTypeService>(container, () => new MemberTypeService(provider, logger, eventMessagesFactory, memberService.Value));
|
||||
var entityService = GetLazyService<IEntityService>(container, () => new EntityService(
|
||||
provider, logger, eventMessagesFactory,
|
||||
var memberTypeService = GetLazyService<IMemberTypeService>(container, c => new MemberTypeService(scopeProvider, logger, eventMessagesFactory, memberService.Value, GetRepo<IMemberTypeRepository>(c), GetRepo<IAuditRepository>(c), GetRepo<IEntityRepository>(c)));
|
||||
var entityService = GetLazyService<IEntityService>(container, c => new EntityService(
|
||||
scopeProvider, logger, eventMessagesFactory,
|
||||
contentService.Value, contentTypeService.Value, mediaService.Value, mediaTypeService.Value, dataTypeService.Value, memberService.Value, memberTypeService.Value,
|
||||
idkMap,
|
||||
//TODO: Consider making this an isolated cache instead of using the global one
|
||||
cache.RuntimeCache));
|
||||
cache.RuntimeCache,
|
||||
GetRepo<IEntityRepository>(c)));
|
||||
|
||||
var macroService = GetLazyService<IMacroService>(container, () => new MacroService(provider, logger, eventMessagesFactory));
|
||||
var packagingService = GetLazyService<IPackagingService>(container, () => new PackagingService(logger, contentService.Value, contentTypeService.Value, mediaService.Value, macroService.Value, dataTypeService.Value, fileService.Value, localizationService.Value, entityService.Value, userService.Value, provider, urlSegmentProviders));
|
||||
var relationService = GetLazyService<IRelationService>(container, () => new RelationService(provider, logger, eventMessagesFactory, entityService.Value));
|
||||
var treeService = GetLazyService<IApplicationTreeService>(container, () => new ApplicationTreeService(logger, cache));
|
||||
var tagService = GetLazyService<ITagService>(container, () => new TagService(provider, logger, eventMessagesFactory));
|
||||
var sectionService = GetLazyService<ISectionService>(container, () => new SectionService(userService.Value, treeService.Value, provider, cache));
|
||||
var redirectUrlService = GetLazyService<IRedirectUrlService>(container, () => new RedirectUrlService(provider, logger, eventMessagesFactory));
|
||||
var macroService = GetLazyService<IMacroService>(container, c => new MacroService(scopeProvider, logger, eventMessagesFactory, GetRepo<IMacroRepository>(c), GetRepo<IAuditRepository>(c)));
|
||||
var packagingService = GetLazyService<IPackagingService>(container, c => new PackagingService(logger, contentService.Value, contentTypeService.Value, mediaService.Value, macroService.Value, dataTypeService.Value, fileService.Value, localizationService.Value, entityService.Value, userService.Value, scopeProvider, urlSegmentProviders, GetRepo<IAuditRepository>(c), GetRepo<IContentTypeRepository>(c)));
|
||||
var relationService = GetLazyService<IRelationService>(container, c => new RelationService(scopeProvider, logger, eventMessagesFactory, entityService.Value, GetRepo<IRelationRepository>(c), GetRepo<IRelationTypeRepository>(c)));
|
||||
var treeService = GetLazyService<IApplicationTreeService>(container, c => new ApplicationTreeService(logger, cache));
|
||||
var tagService = GetLazyService<ITagService>(container, c => new TagService(scopeProvider, logger, eventMessagesFactory, GetRepo<ITagRepository>(c)));
|
||||
var sectionService = GetLazyService<ISectionService>(container, c => new SectionService(userService.Value, treeService.Value, scopeProvider, cache));
|
||||
var redirectUrlService = GetLazyService<IRedirectUrlService>(container, c => new RedirectUrlService(scopeProvider, logger, eventMessagesFactory, GetRepo<IRedirectUrlRepository>(c)));
|
||||
|
||||
return new ServiceContext(
|
||||
migrationEntryService,
|
||||
@@ -215,10 +215,16 @@ namespace Umbraco.Tests.TestHelpers
|
||||
redirectUrlService);
|
||||
}
|
||||
|
||||
private Lazy<T> GetLazyService<T>(IServiceFactory container, Func<T> ctor)
|
||||
private Lazy<T> GetLazyService<T>(IServiceFactory container, Func<IServiceFactory, T> ctor)
|
||||
where T : class
|
||||
{
|
||||
return new Lazy<T>(() => container?.TryGetInstance<T>() ?? ctor());
|
||||
return new Lazy<T>(() => container?.TryGetInstance<T>() ?? ctor(container));
|
||||
}
|
||||
|
||||
private T GetRepo<T>(IServiceFactory container)
|
||||
where T : class, IRepository
|
||||
{
|
||||
return container?.TryGetInstance<T>() ?? Mock.Of<T>();
|
||||
}
|
||||
|
||||
public IScopeProvider GetScopeProvider(ILogger logger, FileSystems fileSystems = null, IUmbracoDatabaseFactory databaseFactory = null)
|
||||
@@ -236,24 +242,5 @@ namespace Umbraco.Tests.TestHelpers
|
||||
var scopeProvider = new ScopeProvider(databaseFactory, fileSystems, logger);
|
||||
return scopeProvider;
|
||||
}
|
||||
|
||||
public IScopeUnitOfWorkProvider GetScopeUnitOfWorkProvider(ILogger logger, IUmbracoDatabaseFactory databaseFactory = null, RepositoryFactory repositoryFactory = null, IScopeProvider scopeProvider = null)
|
||||
{
|
||||
if (databaseFactory == null)
|
||||
{
|
||||
//var mappersBuilder = new MapperCollectionBuilder(Current.Container); // fixme
|
||||
//mappersBuilder.AddCore();
|
||||
//var mappers = mappersBuilder.CreateCollection();
|
||||
var mappers = Current.Container.GetInstance<IMapperCollection>();
|
||||
databaseFactory = new UmbracoDatabaseFactory(Constants.System.UmbracoConnectionName, GetDefaultSqlSyntaxProviders(logger), logger, mappers);
|
||||
}
|
||||
if (scopeProvider == null)
|
||||
{
|
||||
var fileSystems = new FileSystems(logger);
|
||||
scopeProvider = new ScopeProvider(databaseFactory, fileSystems, logger);
|
||||
}
|
||||
repositoryFactory = repositoryFactory ?? new RepositoryFactory(Mock.Of<IServiceContainer>());
|
||||
return new ScopeUnitOfWorkProvider(scopeProvider, databaseFactory.SqlContext, repositoryFactory);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ using Umbraco.Core.Configuration.UmbracoSettings;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.SqlSyntax;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.PropertyEditors;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Web;
|
||||
@@ -53,8 +52,6 @@ namespace Umbraco.Tests.TestHelpers
|
||||
|
||||
protected CacheHelper DisabledCache => _disabledCacheHelper ?? (_disabledCacheHelper = CacheHelper.CreateDisabledCacheHelper());
|
||||
|
||||
protected IScopeUnitOfWorkProvider UowProvider => Current.Container.GetInstance<IScopeUnitOfWorkProvider>();
|
||||
|
||||
protected PublishedContentTypeCache ContentTypesCache { get; private set; }
|
||||
|
||||
protected override ISqlSyntaxProvider SqlSyntax => GetSyntaxProvider();
|
||||
@@ -260,8 +257,9 @@ namespace Umbraco.Tests.TestHelpers
|
||||
Current.Services,
|
||||
Container.GetInstance<IPublishedContentTypeFactory>(),
|
||||
(ScopeProvider) Current.ScopeProvider,
|
||||
UowProvider,
|
||||
cache, publishedSnapshotAccessor, Current.Logger, ContentTypesCache, null, true, Options.PublishedRepositoryEvents);
|
||||
cache, publishedSnapshotAccessor,
|
||||
null, null, null,
|
||||
Current.Logger, ContentTypesCache, null, true, Options.PublishedRepositoryEvents);
|
||||
|
||||
// initialize PublishedCacheService content with an Xml source
|
||||
service.XmlStore.GetXmlDocument = () =>
|
||||
|
||||
@@ -294,9 +294,6 @@ namespace Umbraco.Tests.Testing
|
||||
Container.RegisterSingleton(factory => new FileSystems(factory.TryGetInstance<ILogger>()));
|
||||
Container.RegisterSingleton(factory
|
||||
=> TestObjects.GetScopeProvider(factory.TryGetInstance<ILogger>(), factory.TryGetInstance<FileSystems>(), factory.TryGetInstance<IUmbracoDatabaseFactory>()));
|
||||
Container.RegisterSingleton(factory
|
||||
=> TestObjects.GetScopeUnitOfWorkProvider(factory.TryGetInstance<ILogger>(), factory.TryGetInstance<IUmbracoDatabaseFactory>(),
|
||||
factory.TryGetInstance<RepositoryFactory>(), factory.TryGetInstance<IScopeProvider>()));
|
||||
|
||||
Container.RegisterFrom<ServicesCompositionRoot>();
|
||||
// composition root is doing weird things, fix
|
||||
|
||||
@@ -13,7 +13,6 @@ using Umbraco.Core.Configuration.UmbracoSettings;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Models.PublishedContent;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.PropertyEditors;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Core.Services;
|
||||
@@ -423,9 +422,10 @@ namespace Umbraco.Tests.Web.Mvc
|
||||
var cache = new NullCacheProvider();
|
||||
//var provider = new ScopeUnitOfWorkProvider(databaseFactory, new RepositoryFactory(Mock.Of<IServiceContainer>()));
|
||||
var scopeProvider = TestObjects.GetScopeProvider(Mock.Of<ILogger>());
|
||||
var uowProvider = TestObjects.GetScopeUnitOfWorkProvider(Mock.Of<ILogger>(), scopeProvider: scopeProvider);
|
||||
var factory = Mock.Of<IPublishedContentTypeFactory>();
|
||||
_service = new PublishedSnapshotService(svcCtx, factory, scopeProvider, uowProvider, cache, Enumerable.Empty<IUrlSegmentProvider>(), null, Current.Logger, null, true, false); // no events
|
||||
_service = new PublishedSnapshotService(svcCtx, factory, scopeProvider, cache, Enumerable.Empty<IUrlSegmentProvider>(), null,
|
||||
null, null, null,
|
||||
Current.Logger, null, true, false); // no events
|
||||
|
||||
var http = GetHttpContextFactory(url, routeData).HttpContext;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user