few more tests for TaskRepository
This commit is contained in:
@@ -6,7 +6,7 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
{
|
||||
public interface ITaskRepository : IRepositoryQueryable<int, Task>
|
||||
{
|
||||
IEnumerable<Task> GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
|
||||
//IEnumerable<Task> GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
|
||||
IEnumerable<Task> GetTasks(int? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
|
||||
|
||||
//IEnumerable<Task> GetTasksForItem(int id);
|
||||
|
||||
@@ -108,8 +108,6 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
{
|
||||
entity.AddingEntity();
|
||||
|
||||
|
||||
|
||||
//ensure the task type exists
|
||||
var taskType = Database.SingleOrDefault<TaskTypeDto>("Where alias = @alias", new {alias = entity.TaskType.Alias});
|
||||
if (taskType == null)
|
||||
@@ -117,6 +115,10 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
var taskTypeId = Convert.ToInt32(Database.Insert(new TaskTypeDto {Alias = entity.TaskType.Alias}));
|
||||
entity.TaskType.Id = taskTypeId;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.TaskType.Id = taskType.Id;
|
||||
}
|
||||
|
||||
var factory = new TaskFactory();
|
||||
var dto = factory.BuildDto(entity);
|
||||
@@ -132,18 +134,18 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IEnumerable<Task> GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
|
||||
{
|
||||
var sql = GetGetTasksQuery(assignedUser, ownerUser, taskTypeAlias, includeClosed);
|
||||
if (itemId.HasValue)
|
||||
{
|
||||
sql.Where<NodeDto>(dto => dto.UniqueId == itemId.Value);
|
||||
}
|
||||
//public IEnumerable<Task> GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
|
||||
//{
|
||||
// var sql = GetGetTasksQuery(assignedUser, ownerUser, taskTypeAlias, includeClosed);
|
||||
// if (itemId.HasValue)
|
||||
// {
|
||||
// sql.Where<NodeDto>(dto => dto.UniqueId == itemId.Value);
|
||||
// }
|
||||
|
||||
var dtos = Database.Fetch<TaskDto, TaskTypeDto>(sql);
|
||||
var entities = Mapper.Map<IEnumerable<Task>>(dtos);
|
||||
return entities;
|
||||
}
|
||||
// var dtos = Database.Fetch<TaskDto, TaskTypeDto>(sql);
|
||||
// var entities = Mapper.Map<IEnumerable<Task>>(dtos);
|
||||
// return entities;
|
||||
//}
|
||||
|
||||
public IEnumerable<Task> GetTasks(int? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
|
||||
{
|
||||
@@ -154,8 +156,8 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
}
|
||||
|
||||
var dtos = Database.Fetch<TaskDto, TaskTypeDto>(sql);
|
||||
var entities = Mapper.Map<IEnumerable<Task>>(dtos);
|
||||
return entities;
|
||||
var factory = new TaskFactory();
|
||||
return dtos.Select(factory.BuildEntity);
|
||||
}
|
||||
|
||||
private Sql GetGetTasksQuery(int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
public interface ITaskService
|
||||
{
|
||||
IEnumerable<Task> GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
|
||||
//IEnumerable<Task> GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
|
||||
IEnumerable<Task> GetTasks(int? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false);
|
||||
}
|
||||
}
|
||||
@@ -16,13 +16,13 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
}
|
||||
|
||||
public IEnumerable<Task> GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
|
||||
{
|
||||
using (var repo = RepositoryFactory.CreateTaskRepository(UowProvider.GetUnitOfWork()))
|
||||
{
|
||||
return repo.GetTasks(itemId, assignedUser, ownerUser, taskTypeAlias);
|
||||
}
|
||||
}
|
||||
//public IEnumerable<Task> GetTasks(Guid? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
|
||||
//{
|
||||
// using (var repo = RepositoryFactory.CreateTaskRepository(UowProvider.GetUnitOfWork()))
|
||||
// {
|
||||
// return repo.GetTasks(itemId, assignedUser, ownerUser, taskTypeAlias);
|
||||
// }
|
||||
//}
|
||||
|
||||
public IEnumerable<Task> GetTasks(int? itemId = null, int? assignedUser = null, int? ownerUser = null, string taskTypeAlias = null, bool includeClosed = false)
|
||||
{
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
});
|
||||
unitOfWork.Commit();
|
||||
|
||||
var found = repo.GetAll();
|
||||
var found = repo.GetAll().ToArray();
|
||||
|
||||
Assert.AreEqual(1, found.Count());
|
||||
Assert.AreEqual(0, found.First().AssigneeUserId);
|
||||
@@ -43,5 +43,71 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.AreEqual(true, found.First().TaskType.HasIdentity);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Get_All()
|
||||
{
|
||||
CreateTestData(false, 20);
|
||||
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
using (var repo = new TaskRepository(unitOfWork, CacheHelper, Logger, SqlSyntaxProvider))
|
||||
{
|
||||
var found = repo.GetAll().ToArray();
|
||||
Assert.AreEqual(20, found.Count());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Get_All_With_Closed()
|
||||
{
|
||||
CreateTestData(false, 10);
|
||||
CreateTestData(true, 5);
|
||||
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
using (var repo = new TaskRepository(unitOfWork, CacheHelper, Logger, SqlSyntaxProvider))
|
||||
{
|
||||
var found = repo.GetTasks(includeClosed: true).ToArray();
|
||||
Assert.AreEqual(15, found.Count());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Get_All_Without_Closed()
|
||||
{
|
||||
CreateTestData(false, 10);
|
||||
CreateTestData(true, 5);
|
||||
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
using (var repo = new TaskRepository(unitOfWork, CacheHelper, Logger, SqlSyntaxProvider))
|
||||
{
|
||||
var found = repo.GetTasks(includeClosed: false);
|
||||
Assert.AreEqual(10, found.Count());
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateTestData(bool closed, int count)
|
||||
{
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
using (var repo = new TaskRepository(unitOfWork, CacheHelper, Logger, SqlSyntaxProvider))
|
||||
{
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
repo.AddOrUpdate(new Task(new TaskType("asdfasdf"))
|
||||
{
|
||||
AssigneeUserId = 0,
|
||||
Closed = closed,
|
||||
Comment = "hello world " + i,
|
||||
EntityId = -1,
|
||||
OwnerUserId = 0
|
||||
});
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user