Fixes tests
This commit is contained in:
@@ -748,7 +748,7 @@ ORDER BY colName";
|
||||
|
||||
if (excludeUserGroups != null && excludeUserGroups.Length > 0)
|
||||
{
|
||||
var subQuery = @"AND (umbracoUser.id NOT IN (SELECT DISTINCT umbracoUser.id
|
||||
const string subQuery = @"AND (umbracoUser.id NOT IN (SELECT DISTINCT umbracoUser.id
|
||||
FROM umbracoUser
|
||||
INNER JOIN umbracoUser2UserGroup ON umbracoUser2UserGroup.userId = umbracoUser.id
|
||||
INNER JOIN umbracoUserGroup ON umbracoUserGroup.id = umbracoUser2UserGroup.userGroupId
|
||||
@@ -809,7 +809,7 @@ ORDER BY colName";
|
||||
sql = new SqlTranslator<IUser>(sql, query).Translate();
|
||||
|
||||
// get sorted and filtered sql
|
||||
var sqlNodeIdsWithSort = ApplySort(ApplyFilter(sql, filterSql), orderDirection, orderBy);
|
||||
var sqlNodeIdsWithSort = ApplySort(ApplyFilter(sql, filterSql, query != null), orderDirection, orderBy);
|
||||
|
||||
// get a page of results and total count
|
||||
var pagedResult = Database.Page<UserDto>(pageIndex + 1, pageSize, sqlNodeIdsWithSort);
|
||||
@@ -820,11 +820,17 @@ ORDER BY colName";
|
||||
return pagedResult.Items.Select(UserFactory.BuildEntity);
|
||||
}
|
||||
|
||||
private Sql<ISqlContext> ApplyFilter(Sql<ISqlContext> sql, Sql<ISqlContext> filterSql)
|
||||
private Sql<ISqlContext> ApplyFilter(Sql<ISqlContext> sql, Sql<ISqlContext> filterSql, bool hasWhereClause)
|
||||
{
|
||||
if (filterSql == null) return sql;
|
||||
|
||||
sql.Append(SqlContext.Sql(" WHERE " + filterSql.SQL.TrimStart("AND "), filterSql.Arguments));
|
||||
//ensure we don't append a WHERE if there is already one
|
||||
var args = filterSql.Arguments;
|
||||
var sqlFilter = hasWhereClause
|
||||
? filterSql.SQL
|
||||
: " WHERE " + filterSql.SQL.TrimStart("AND ");
|
||||
|
||||
sql.Append(SqlContext.Sql(sqlFilter, args));
|
||||
|
||||
return sql;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Linq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Core.Composing;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
|
||||
@@ -8,15 +9,17 @@ using Umbraco.Core.Persistence.Querying;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Tests.Testing;
|
||||
|
||||
namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
[TestFixture]
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, Logger = UmbracoTestOptions.Logger.Console)]
|
||||
public class AuditRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
|
||||
[Test]
|
||||
public void Can_Add_Audit_Entry()
|
||||
{
|
||||
@@ -24,7 +27,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
using (var scope = sp.CreateScope())
|
||||
{
|
||||
var repo = new AuditRepository((IScopeAccessor) sp, CacheHelper, Logger);
|
||||
repo.Save(new AuditItem(-1, "This is a System audit trail", AuditType.System, 0));
|
||||
repo.Save(new AuditItem(-1, "This is a System audit trail", AuditType.System, -1));
|
||||
|
||||
var dtos = scope.Database.Fetch<LogDto>("WHERE id > -1");
|
||||
|
||||
@@ -43,8 +46,8 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
for (var i = 0; i < 100; i++)
|
||||
{
|
||||
repo.Save(new AuditItem(i, $"Content {i} created", AuditType.New, 0));
|
||||
repo.Save(new AuditItem(i, $"Content {i} published", AuditType.Publish, 0));
|
||||
repo.Save(new AuditItem(i, $"Content {i} created", AuditType.New, -1));
|
||||
repo.Save(new AuditItem(i, $"Content {i} published", AuditType.Publish, -1));
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
@@ -71,8 +74,8 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
for (var i = 0; i < 100; i++)
|
||||
{
|
||||
repo.Save(new AuditItem(i, $"Content {i} created", AuditType.New, 0));
|
||||
repo.Save(new AuditItem(i, $"Content {i} published", AuditType.Publish, 0));
|
||||
repo.Save(new AuditItem(i, $"Content {i} created", AuditType.New, -1));
|
||||
repo.Save(new AuditItem(i, $"Content {i} published", AuditType.Publish, -1));
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
@@ -82,7 +85,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var repo = new AuditRepository((IScopeAccessor)sp, CacheHelper, Logger);
|
||||
|
||||
var query = sp.SqlContext.Query<IAuditItem>().Where(x => x.UserId == 0);
|
||||
var query = sp.SqlContext.Query<IAuditItem>().Where(x => x.UserId == -1);
|
||||
|
||||
try
|
||||
{
|
||||
@@ -91,7 +94,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
var page = repo.GetPagedResultsByQuery(query, 0, 10, out var total, Direction.Descending,
|
||||
new[] { AuditType.Publish },
|
||||
sp.SqlContext.Query<IAuditItem>().Where(x => x.UserId > -1));
|
||||
sp.SqlContext.Query<IAuditItem>().Where(x => x.UserId > -2));
|
||||
|
||||
Assert.AreEqual(10, page.Count());
|
||||
Assert.AreEqual(100, total);
|
||||
@@ -114,8 +117,8 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
for (var i = 0; i < 100; i++)
|
||||
{
|
||||
repo.Save(new AuditItem(i, $"Content {i} created", AuditType.New, 0));
|
||||
repo.Save(new AuditItem(i, $"Content {i} published", AuditType.Publish, 0));
|
||||
repo.Save(new AuditItem(i, $"Content {i} created", AuditType.New, -1));
|
||||
repo.Save(new AuditItem(i, $"Content {i} published", AuditType.Publish, -1));
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
@@ -145,8 +148,8 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
|
||||
for (var i = 0; i < 100; i++)
|
||||
{
|
||||
repo.Save(new AuditItem(i, "Content created", AuditType.New, 0));
|
||||
repo.Save(new AuditItem(i, "Content published", AuditType.Publish, 0));
|
||||
repo.Save(new AuditItem(i, "Content created", AuditType.New, -1));
|
||||
repo.Save(new AuditItem(i, "Content published", AuditType.Publish, -1));
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
|
||||
@@ -20,7 +20,7 @@ using Umbraco.Core.Persistence;
|
||||
namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
[TestFixture]
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, WithApplication = true)]
|
||||
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, WithApplication = true, Logger = UmbracoTestOptions.Logger.Console)]
|
||||
public class UserRepositoryTest : TestWithDatabaseBase
|
||||
{
|
||||
private MediaRepository CreateMediaRepository(IScopeProvider provider, out IMediaTypeRepository mediaTypeRepository)
|
||||
@@ -52,14 +52,14 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
private UserRepository CreateRepository(IScopeProvider provider)
|
||||
{
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
var repository = new UserRepository(accessor, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), Mock.Of<IMapperCollection>(), TestObjects.GetGlobalSettings());
|
||||
var repository = new UserRepository(accessor, CacheHelper.CreateDisabledCacheHelper(), Logger, Mappers, TestObjects.GetGlobalSettings());
|
||||
return repository;
|
||||
}
|
||||
|
||||
private UserGroupRepository CreateUserGroupRepository(IScopeProvider provider)
|
||||
{
|
||||
var accessor = (IScopeAccessor) provider;
|
||||
return new UserGroupRepository(accessor, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>());
|
||||
return new UserGroupRepository(accessor, CacheHelper.CreateDisabledCacheHelper(), Logger);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -396,7 +396,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var result = repository.GetPagedResultsByQuery(null, 0, 10, out var totalRecs, user => user.Id, Direction.Ascending,
|
||||
includeUserGroups: new[] { Constants.Security.AdminGroupAlias, Constants.Security.SensitiveDataGroupAlias },
|
||||
excludeUserGroups: new[] { Constants.Security.TranslatorGroupAlias },
|
||||
filter: provider.SqlContext.Query<IUser>().Where(x => x.Id == 0));
|
||||
filter: provider.SqlContext.Query<IUser>().Where(x => x.Id == -1));
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, totalRecs);
|
||||
|
||||
@@ -172,6 +172,11 @@ namespace Umbraco.Tests.Testing
|
||||
Container.RegisterSingleton<ILogger>(f => new SerilogLogger(new FileInfo(TestHelper.MapPathForTest("~/unit-test.config"))));
|
||||
Container.RegisterSingleton<IProfiler>(f => new LogProfiler(f.GetInstance<ILogger>()));
|
||||
}
|
||||
else if (option == UmbracoTestOptions.Logger.Console)
|
||||
{
|
||||
Container.RegisterSingleton<ILogger>(f => new ConsoleLogger());
|
||||
Container.RegisterSingleton<IProfiler>(f => new LogProfiler(f.GetInstance<ILogger>()));
|
||||
}
|
||||
|
||||
Container.RegisterSingleton(f => new ProfilingLogger(f.GetInstance<ILogger>(), f.GetInstance<IProfiler>()));
|
||||
}
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
// pure mocks
|
||||
Mock,
|
||||
// Serilog for tests
|
||||
Serilog
|
||||
Serilog,
|
||||
// console logger
|
||||
Console
|
||||
}
|
||||
|
||||
public enum Database
|
||||
|
||||
Reference in New Issue
Block a user