62 lines
1.7 KiB
C#
62 lines
1.7 KiB
C#
using Hutopy.Application.TodoLists.Queries.GetTodos;
|
|
using Hutopy.Domain.Entities;
|
|
using Hutopy.Domain.ValueObjects;
|
|
|
|
namespace Hutopy.Application.FunctionalTests.TodoLists.Queries;
|
|
|
|
using static Testing;
|
|
|
|
public class GetTodosTests : BaseTestFixture
|
|
{
|
|
[Test]
|
|
public async Task ShouldReturnPriorityLevels()
|
|
{
|
|
await RunAsDefaultUserAsync();
|
|
|
|
var query = new GetTodosQuery();
|
|
|
|
var result = await SendAsync(query);
|
|
|
|
result.PriorityLevels.Should().NotBeEmpty();
|
|
}
|
|
|
|
[Test]
|
|
public async Task ShouldReturnAllListsAndItems()
|
|
{
|
|
await RunAsDefaultUserAsync();
|
|
|
|
await AddAsync(new TodoList
|
|
{
|
|
Title = "Shopping",
|
|
Colour = Colour.Blue,
|
|
Items =
|
|
{
|
|
new TodoItem { Title = "Apples", Done = true },
|
|
new TodoItem { Title = "Milk", Done = true },
|
|
new TodoItem { Title = "Bread", Done = true },
|
|
new TodoItem { Title = "Toilet paper" },
|
|
new TodoItem { Title = "Pasta" },
|
|
new TodoItem { Title = "Tissues" },
|
|
new TodoItem { Title = "Tuna" }
|
|
}
|
|
});
|
|
|
|
var query = new GetTodosQuery();
|
|
|
|
var result = await SendAsync(query);
|
|
|
|
result.Lists.Should().HaveCount(1);
|
|
result.Lists.First().Items.Should().HaveCount(7);
|
|
}
|
|
|
|
[Test]
|
|
public async Task ShouldDenyAnonymousUser()
|
|
{
|
|
var query = new GetTodosQuery();
|
|
|
|
var action = () => SendAsync(query);
|
|
|
|
await action.Should().ThrowAsync<UnauthorizedAccessException>();
|
|
}
|
|
}
|