more tests fixed, decouples more of the MappingResolver.Current singleton
This commit is contained in:
@@ -5,18 +5,18 @@ namespace Umbraco.Core.Persistence.Querying
|
||||
{
|
||||
public class QueryFactory
|
||||
{
|
||||
private readonly ISqlSyntaxProvider _sqlSyntax;
|
||||
private readonly IMappingResolver _mappingResolver;
|
||||
public ISqlSyntaxProvider SqlSyntax { get; private set; }
|
||||
public IMappingResolver MappingResolver { get; private set; }
|
||||
|
||||
public QueryFactory(ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
|
||||
{
|
||||
_sqlSyntax = sqlSyntax;
|
||||
_mappingResolver = mappingResolver;
|
||||
SqlSyntax = sqlSyntax;
|
||||
MappingResolver = mappingResolver;
|
||||
}
|
||||
|
||||
public Query<T> Create<T>()
|
||||
{
|
||||
return new Query<T>(_sqlSyntax, _mappingResolver);
|
||||
return new Query<T>(SqlSyntax, MappingResolver);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -311,7 +311,7 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
//get the referenced column name
|
||||
var expressionMember = ExpressionHelper.GetMemberInfo(orderBy);
|
||||
//now find the mapped column name
|
||||
var mapper = MappingResolver.Current.ResolveMapperByType(typeof(IUser));
|
||||
var mapper = QueryFactory.MappingResolver.ResolveMapperByType(typeof(IUser));
|
||||
var mappedField = mapper.Map(expressionMember.Name);
|
||||
if (mappedField.IsNullOrWhiteSpace())
|
||||
{
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace Umbraco.Tests.TestHelpers
|
||||
//Used to flag if its the first test in the current fixture
|
||||
private bool _isFirstTestInFixture = false;
|
||||
|
||||
private ApplicationContext _appContext;
|
||||
//private ApplicationContext _appContext;
|
||||
|
||||
private string _dbPath;
|
||||
//used to store (globally) the pre-built db with schema and initial data
|
||||
@@ -68,40 +68,17 @@ namespace Umbraco.Tests.TestHelpers
|
||||
var path = TestHelper.CurrentAssemblyDirectory;
|
||||
AppDomain.CurrentDomain.SetData("DataDirectory", path);
|
||||
|
||||
//disable cache
|
||||
var cacheHelper = CacheHelper.CreateDisabledCacheHelper();
|
||||
|
||||
var dbFactory = new DefaultDatabaseFactory(
|
||||
GetDbConnectionString(),
|
||||
GetDbProviderName(),
|
||||
Logger);
|
||||
|
||||
var repositoryFactory = new RepositoryFactory(cacheHelper, Logger, SqlSyntax, SettingsForTests.GenerateMockSettings(), MappingResolver);
|
||||
|
||||
_appContext = new ApplicationContext(
|
||||
//assign the db context
|
||||
new DatabaseContext(dbFactory, Logger, SqlSyntax, "System.Data.SqlServerCe.4.0"),
|
||||
//assign the service context
|
||||
new ServiceContext(repositoryFactory, new PetaPocoUnitOfWorkProvider(dbFactory), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper, Logger, new[] { new DefaultUrlSegmentProvider() }),
|
||||
cacheHelper,
|
||||
ProfilingLogger)
|
||||
{
|
||||
IsReady = true
|
||||
};
|
||||
|
||||
base.Initialize();
|
||||
|
||||
using (ProfilingLogger.TraceDuration<BaseDatabaseFactoryTest>("init"))
|
||||
{
|
||||
//TODO: Somehow make this faster - takes 5s +
|
||||
|
||||
|
||||
DatabaseContext.Initialize(dbFactory.ProviderName, dbFactory.ConnectionString);
|
||||
CreateSqlCeDatabase();
|
||||
InitializeDatabase();
|
||||
|
||||
|
||||
//ensure the configuration matches the current version for tests
|
||||
SettingsForTests.ConfigurationStatus = UmbracoVersion.Current.ToString(3);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected override void ConfigureContainer()
|
||||
@@ -128,7 +105,40 @@ namespace Umbraco.Tests.TestHelpers
|
||||
|
||||
protected override void SetupApplicationContext()
|
||||
{
|
||||
ApplicationContext.Current = _appContext;
|
||||
//disable cache
|
||||
var cacheHelper = CacheHelper.CreateDisabledCacheHelper();
|
||||
|
||||
var dbFactory = new DefaultDatabaseFactory(
|
||||
GetDbConnectionString(),
|
||||
GetDbProviderName(),
|
||||
Logger);
|
||||
|
||||
var repositoryFactory = new RepositoryFactory(cacheHelper, Logger, SqlSyntax, SettingsForTests.GenerateMockSettings(), MappingResolver);
|
||||
|
||||
var appContext = new ApplicationContext(
|
||||
//assign the db context
|
||||
new DatabaseContext(dbFactory, Logger, SqlSyntax, "System.Data.SqlServerCe.4.0"),
|
||||
//assign the service context
|
||||
new ServiceContext(repositoryFactory, new PetaPocoUnitOfWorkProvider(dbFactory), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper, Logger, new[] { new DefaultUrlSegmentProvider() }),
|
||||
cacheHelper,
|
||||
ProfilingLogger)
|
||||
{
|
||||
IsReady = true
|
||||
};
|
||||
|
||||
ApplicationContext.Current = appContext;
|
||||
|
||||
using (ProfilingLogger.TraceDuration<BaseDatabaseFactoryTest>("init"))
|
||||
{
|
||||
//TODO: Somehow make this faster - takes 5s +
|
||||
|
||||
appContext.DatabaseContext.Initialize(dbFactory.ProviderName, dbFactory.ConnectionString);
|
||||
CreateSqlCeDatabase();
|
||||
InitializeDatabase();
|
||||
|
||||
//ensure the configuration matches the current version for tests
|
||||
SettingsForTests.ConfigurationStatus = UmbracoVersion.Current.ToString(3);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user