Cleaned up test code files.
All checks were successful
ci / build-test (push) Successful in 1m27s
ci / publish-image (push) Has been skipped

This commit is contained in:
2025-11-04 09:53:50 -05:00
parent 06f8c2ec9e
commit fd384a1998
10 changed files with 115 additions and 332 deletions

View File

@@ -1,45 +0,0 @@
using JSMR.Domain.Entities;
using JSMR.Infrastructure.Data;
using Microsoft.EntityFrameworkCore;
namespace JSMR.Tests.Integration;
public static class Seed
{
public static async Task SeedBasicTagsAsync(AppDbContext context)
{
if (await context.Tags.AnyAsync())
return;
context.Tags.AddRange(
new() { TagId = 1, Name = "OL", Favorite = false, Blacklisted = false },
new() { TagId = 2, Name = "ほのぼの", Favorite = true, Blacklisted = false },
new() { TagId = 3, Name = "ツンデレ", Favorite = false, Blacklisted = true }
);
context.EnglishTags.AddRange(
new() { EnglishTagId = 1, TagId = 1, Name = "Office Lady" },
new() { EnglishTagId = 2, TagId = 2, Name = "Heartwarming" },
new() { EnglishTagId = 3, TagId = 3, Name = "Tsundere" }
);
await context.SaveChangesAsync();
}
public static async Task SeedCirclesWithWorksAsync(AppDbContext context)
{
var c1 = new Circle { Name = "Circle A", MakerId = "mk001", Favorite = false, Blacklisted = false, Spam = false };
var c2 = new Circle { Name = "Circle B", MakerId = "mk002", Favorite = true, Blacklisted = false, Spam = false };
context.Circles.AddRange(c1, c2);
await context.SaveChangesAsync();
context.VoiceWorks.AddRange(
new VoiceWork { CircleId = c1.CircleId, ProductId = "R-1", ProductName = "Work 1", Downloads = 100, SalesDate = new DateTime(2024, 1, 1), HasImage = true },
new VoiceWork { CircleId = c1.CircleId, ProductId = "R-10", ProductName = "Work 10", Downloads = 50, SalesDate = new DateTime(2024, 2, 1), HasImage = false },
new VoiceWork { CircleId = c2.CircleId, ProductId = "R-2", ProductName = "Work 2", Downloads = 200, SalesDate = new DateTime(2024, 3, 1), HasImage = true }
);
await context.SaveChangesAsync();
}
}

View File

@@ -1,6 +1,7 @@
using JSMR.Infrastructure.Data;
using JSMR.Tests.Fixtures;
namespace JSMR.Tests.Fixtures;
namespace JSMR.Tests.Search.Circle;
public sealed class CircleSearchProviderFixture(MariaDbContainerFixture container) : SearchProviderFixture(container)
{

View File

@@ -1,22 +1,25 @@
using JSMR.Application.Circles.Contracts;
using JSMR.Application.Circles.Queries.Search;
using JSMR.Application.Circles.Queries.Search;
using JSMR.Application.Common.Search;
using JSMR.Infrastructure.Data;
using JSMR.Infrastructure.Data.Repositories.Circles;
using JSMR.Tests.Fixtures;
using Shouldly;
using SortDirection = JSMR.Application.Common.Search.SortDirection;
namespace JSMR.Tests.Integration;
namespace JSMR.Tests.Search.Circle;
public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IClassFixture<CircleSearchProviderFixture>
{
[Fact]
public async Task Filter_None()
private async Task<SearchResult<CircleSearchItem>> SearchAsync(SearchOptions<CircleSearchCriteria, CircleSortField> options)
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
return await provider.SearchAsync(options, TestContext.Current.CancellationToken);
}
[Fact]
public async Task Filter_None()
{
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
Criteria = new()
@@ -25,7 +28,7 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
}
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4);
@@ -34,19 +37,15 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Filter_By_Status_Not_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
Criteria = new()
{
Status = Application.Circles.Queries.Search.CircleStatus.NotBlacklisted
Status = CircleStatus.NotBlacklisted
}
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3);
@@ -56,19 +55,15 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Filter_By_Status_Favorited()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
Criteria = new()
{
Status = Application.Circles.Queries.Search.CircleStatus.Favorited
Status = CircleStatus.Favorited
}
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -78,19 +73,15 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Filter_By_Status_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
Criteria = new()
{
Status = Application.Circles.Queries.Search.CircleStatus.Blacklisted
Status = CircleStatus.Blacklisted
}
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -100,19 +91,15 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Filter_By_Status_Spam()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
Criteria = new()
{
Status = Application.Circles.Queries.Search.CircleStatus.Spam
Status = CircleStatus.Spam
}
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -122,10 +109,6 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Filter_By_Name_Circle_Name()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
Criteria = new()
@@ -134,7 +117,7 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
}
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2);
@@ -144,10 +127,6 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Filter_By_Name_Circle_Id()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
Criteria = new()
@@ -156,7 +135,7 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
}
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -166,16 +145,12 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Sort_By_Name_Descending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
SortOptions = [new(CircleSortField.Name, Application.Common.Search.SortDirection.Descending)]
SortOptions = [new(CircleSortField.Name, SortDirection.Descending)]
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4);
@@ -188,16 +163,12 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Sort_By_Favorite_Ascending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
SortOptions = [new(CircleSortField.Favorite, Application.Common.Search.SortDirection.Ascending)]
SortOptions = [new(CircleSortField.Favorite, SortDirection.Ascending)]
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4);
@@ -208,16 +179,12 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Sort_By_Blacklisted_Ascending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
SortOptions = [new(CircleSortField.Blacklisted, Application.Common.Search.SortDirection.Ascending)]
SortOptions = [new(CircleSortField.Blacklisted, SortDirection.Ascending)]
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4);
@@ -228,16 +195,12 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact]
public async Task Sort_By_Spam_Ascending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context);
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{
SortOptions = [new(CircleSortField.Spam, Application.Common.Search.SortDirection.Ascending)]
SortOptions = [new(CircleSortField.Spam, SortDirection.Ascending)]
};
var result = await provider.SearchAsync(options, CancellationToken.None);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4);

View File

@@ -1,6 +1,7 @@
using JSMR.Infrastructure.Data;
using JSMR.Tests.Fixtures;
namespace JSMR.Tests.Fixtures;
namespace JSMR.Tests.Search.Creator;
public sealed class CreatorSearchProviderFixture(MariaDbContainerFixture container) : SearchProviderFixture(container)
{

View File

@@ -2,26 +2,30 @@
using JSMR.Application.Creators.Queries.Search.Contracts;
using JSMR.Infrastructure.Data;
using JSMR.Infrastructure.Data.Repositories.Creators;
using JSMR.Tests.Fixtures;
using Shouldly;
using SortDirection = JSMR.Application.Common.Search.SortDirection;
namespace JSMR.Tests.Integration;
namespace JSMR.Tests.Search.Creator;
public class CreatorSearchProviderTests(CreatorSearchProviderFixture fixture) : IClassFixture<CreatorSearchProviderFixture>
{
[Fact]
public async Task Filter_None_Sort_Name_Ascending()
private async Task<SearchResult<CreatorSearchItem>> SearchAsync(SearchOptions<CreatorSearchCriteria, CreatorSortField> options)
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CreatorSearchProvider provider = new(context);
return await provider.SearchAsync(options, TestContext.Current.CancellationToken);
}
[Fact]
public async Task Filter_None_Sort_Name_Ascending()
{
var options = new SearchOptions<CreatorSearchCriteria, CreatorSortField>()
{
SortOptions = [new(CreatorSortField.Name, Application.Common.Search.SortDirection.Ascending)]
SortOptions = [new(CreatorSortField.Name, SortDirection.Ascending)]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3);
@@ -32,16 +36,12 @@ public class CreatorSearchProviderTests(CreatorSearchProviderFixture fixture) :
[Fact]
public async Task Filter_None_Sort_Name_Descending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CreatorSearchProvider provider = new(context);
var options = new SearchOptions<CreatorSearchCriteria, CreatorSortField>()
{
SortOptions = [new(CreatorSortField.Name, Application.Common.Search.SortDirection.Descending)]
SortOptions = [new(CreatorSortField.Name, SortDirection.Descending)]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3);
@@ -52,16 +52,12 @@ public class CreatorSearchProviderTests(CreatorSearchProviderFixture fixture) :
[Fact]
public async Task Filter_None_Sort_Favorite_Descending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CreatorSearchProvider provider = new(context);
var options = new SearchOptions<CreatorSearchCriteria, CreatorSortField>()
{
SortOptions = [new(CreatorSortField.Favorite, Application.Common.Search.SortDirection.Ascending)]
SortOptions = [new(CreatorSortField.Favorite, SortDirection.Ascending)]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items[0].Name.ShouldBe("John Doe");
}
@@ -69,16 +65,12 @@ public class CreatorSearchProviderTests(CreatorSearchProviderFixture fixture) :
[Fact]
public async Task Filter_None_Sort_Blacklisted_Descending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CreatorSearchProvider provider = new(context);
var options = new SearchOptions<CreatorSearchCriteria, CreatorSortField>()
{
SortOptions = [new(CreatorSortField.Blacklisted, Application.Common.Search.SortDirection.Ascending)]
SortOptions = [new(CreatorSortField.Blacklisted, SortDirection.Ascending)]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items[0].Name.ShouldBe("Jane Doe");
}
@@ -86,10 +78,6 @@ public class CreatorSearchProviderTests(CreatorSearchProviderFixture fixture) :
[Fact]
public async Task Filter_By_Name_Creator_Name()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
CreatorSearchProvider provider = new(context);
var options = new SearchOptions<CreatorSearchCriteria, CreatorSortField>()
{
Criteria = new()
@@ -98,9 +86,8 @@ public class CreatorSearchProviderTests(CreatorSearchProviderFixture fixture) :
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
// Assert
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
result.Items.ShouldContain(creatorView => creatorView.Name == "Jane Doe");

View File

@@ -1,6 +1,7 @@
using JSMR.Infrastructure.Data;
using JSMR.Tests.Fixtures;
namespace JSMR.Tests.Fixtures;
namespace JSMR.Tests.Search;
public abstract class SearchProviderFixture(MariaDbContainerFixture container) : IAsyncLifetime
{

View File

@@ -1,6 +1,7 @@
using JSMR.Infrastructure.Data;
using JSMR.Tests.Fixtures;
namespace JSMR.Tests.Fixtures;
namespace JSMR.Tests.Search.Tag;
public sealed class TagSearchProviderFixture(MariaDbContainerFixture container) : SearchProviderFixture(container)
{

View File

@@ -2,26 +2,30 @@
using JSMR.Application.Tags.Queries.Search.Contracts;
using JSMR.Infrastructure.Data;
using JSMR.Infrastructure.Data.Repositories.Tags;
using JSMR.Tests.Fixtures;
using Shouldly;
using SortDirection = JSMR.Application.Common.Search.SortDirection;
namespace JSMR.Tests.Integration;
namespace JSMR.Tests.Search.Tag;
public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFixture<TagSearchProviderFixture>
{
[Fact]
public async Task Filter_None_Sort_Name()
private async Task<SearchResult<TagSearchItem>> SearchAsync(SearchOptions<TagSearchCriteria, TagSortField> options)
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
TagSearchProvider provider = new(context);
return await provider.SearchAsync(options, TestContext.Current.CancellationToken);
}
[Fact]
public async Task Filter_None_Sort_Name()
{
var options = new SearchOptions<TagSearchCriteria, TagSortField>()
{
SortOptions = [new(TagSortField.Name, Application.Common.Search.SortDirection.Ascending)]
SortOptions = [new(TagSortField.Name, SortDirection.Ascending)]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3);
@@ -32,16 +36,12 @@ public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFi
[Fact]
public async Task Filter_None_Sort_EnglishName()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
TagSearchProvider provider = new(context);
var options = new SearchOptions<TagSearchCriteria, TagSortField>()
{
SortOptions = [new(TagSortField.EnglishName, Application.Common.Search.SortDirection.Ascending)]
SortOptions = [new(TagSortField.EnglishName, SortDirection.Ascending)]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3);
@@ -52,10 +52,6 @@ public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFi
[Fact]
public async Task Filter_By_Name_Tag_Name()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
TagSearchProvider provider = new(context);
var options = new SearchOptions<TagSearchCriteria, TagSortField>()
{
Criteria = new()
@@ -64,7 +60,7 @@ public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFi
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -74,10 +70,6 @@ public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFi
[Fact]
public async Task Filter_By_Name_English_Tag_Name()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
TagSearchProvider provider = new(context);
var options = new SearchOptions<TagSearchCriteria, TagSortField>()
{
Criteria = new()
@@ -86,7 +78,7 @@ public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFi
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);

View File

@@ -1,7 +1,8 @@
using JSMR.Domain.Enums;
using JSMR.Infrastructure.Data;
using JSMR.Tests.Fixtures;
namespace JSMR.Tests.Fixtures;
namespace JSMR.Tests.Search.VoiceWork;
public sealed class VoiceWorkSearchProviderFixture(MariaDbContainerFixture container) : SearchProviderFixture(container)
{

View File

@@ -2,28 +2,25 @@
using JSMR.Application.VoiceWorks.Queries.Search;
using JSMR.Infrastructure.Data;
using JSMR.Infrastructure.Data.Repositories.VoiceWorks;
using JSMR.Tests.Fixtures;
using Shouldly;
using SortDirection = JSMR.Application.Common.Search.SortDirection;
namespace JSMR.Tests.Integration;
namespace JSMR.Tests.Search.VoiceWork;
public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture) : IClassFixture<VoiceWorkSearchProviderFixture>
{
private static VoiceWorkSearchProvider InitializeVoiceWorkSearchProvider(AppDbContext context)
private async Task<SearchResult<VoiceWorkSearchResult>> SearchAsync(SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField> options)
{
AppDbContext context = fixture.DbContext!;
MySqlVoiceWorkFullTextSearch fullTextSearch = new();
VoiceWorkSearchProvider provider = new(context, fullTextSearch);
return provider;
return await provider.SearchAsync(options, TestContext.Current.CancellationToken);
}
[Fact]
public async Task Filter_Default()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -33,7 +30,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2);
@@ -44,10 +41,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Upcoming_Favorite()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -57,7 +50,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -68,10 +61,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Availble_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -81,7 +70,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -92,10 +81,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Keywords_Basic()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -104,7 +89,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3);
@@ -114,10 +99,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Keywords_Not_Good()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -126,7 +107,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2);
@@ -137,10 +118,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Keywords_Dreams_And_Amazing_Or_Favorite()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -149,7 +126,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2);
@@ -163,10 +140,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Keywords_Phrase_Search()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -175,7 +148,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -185,10 +158,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Tags_Favorite_Exclude_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -197,7 +166,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -211,10 +180,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Tags_Favorite_Include_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -223,7 +188,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2);
@@ -237,10 +202,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Tags_Not_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -249,7 +210,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4);
@@ -263,10 +224,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Tags_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -275,7 +232,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -289,10 +246,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_TagIds_Or()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -302,7 +255,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2);
@@ -316,10 +269,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_TagIds_And()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -329,7 +278,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -343,10 +292,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Creators_Favorite_Exclude_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -355,7 +300,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2);
@@ -369,10 +314,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Creators_Favorite_Include_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -381,7 +322,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3);
@@ -395,10 +336,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Creators_Not_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -407,7 +344,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4);
@@ -421,10 +358,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Creators_Blacklisted()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -433,7 +366,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -447,10 +380,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_CreatorIds_Or()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -460,7 +389,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3);
@@ -474,10 +403,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_CreatorIds_And()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -487,7 +412,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1);
@@ -501,19 +426,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Sort_By_Release_Date_Ascending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
SortOptions =
[
new(VoiceWorkSortField.ReleaseDate, Application.Common.Search.SortDirection.Ascending)
new(VoiceWorkSortField.ReleaseDate, SortDirection.Ascending)
]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.Select(item => item.ProductId)
@@ -523,19 +444,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Sort_By_Release_Date_Descending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
SortOptions =
[
new(VoiceWorkSortField.ReleaseDate, Application.Common.Search.SortDirection.Descending)
new(VoiceWorkSortField.ReleaseDate, SortDirection.Descending)
]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.Select(item => item.ProductId)
@@ -545,19 +462,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Sort_By_Downloads_Ascending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
SortOptions =
[
new(VoiceWorkSortField.Downloads, Application.Common.Search.SortDirection.Ascending)
new(VoiceWorkSortField.Downloads, SortDirection.Ascending)
]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.Select(item => item.ProductId)
@@ -567,19 +480,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Sort_By_Downloads_Descending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
SortOptions =
[
new(VoiceWorkSortField.Downloads, Application.Common.Search.SortDirection.Descending)
new(VoiceWorkSortField.Downloads, SortDirection.Descending)
]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.Select(item => item.ProductId)
@@ -589,19 +498,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Sort_By_WishlistCount_Ascending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
SortOptions =
[
new(VoiceWorkSortField.WishlistCount, Application.Common.Search.SortDirection.Ascending)
new(VoiceWorkSortField.WishlistCount, SortDirection.Ascending)
]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.Select(item => item.ProductId)
@@ -611,19 +516,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Sort_By_WishlistCount_Descending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
SortOptions =
[
new(VoiceWorkSortField.WishlistCount, Application.Common.Search.SortDirection.Descending)
new(VoiceWorkSortField.WishlistCount, SortDirection.Descending)
]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.Select(item => item.ProductId)
@@ -633,19 +534,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Sort_By_StarRating_Ascending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
SortOptions =
[
new(VoiceWorkSortField.StarRating, Application.Common.Search.SortDirection.Ascending)
new(VoiceWorkSortField.StarRating, SortDirection.Ascending)
]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.Select(item => item.ProductId)
@@ -655,19 +552,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Sort_By_StarRating_Descending()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
SortOptions =
[
new(VoiceWorkSortField.StarRating, Application.Common.Search.SortDirection.Descending)
new(VoiceWorkSortField.StarRating, SortDirection.Descending)
]
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.Select(item => item.ProductId)
@@ -677,10 +570,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Release_Date_Range()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -690,7 +579,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.OrderBy(item => item.ProductId)
@@ -701,10 +590,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Downloads_Range()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -714,7 +599,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.OrderBy(item => item.ProductId)
@@ -725,10 +610,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact]
public async Task Filter_Favorite()
{
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!;
VoiceWorkSearchProvider provider = InitializeVoiceWorkSearchProvider(context);
var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{
Criteria = new()
@@ -737,7 +618,7 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
}
};
var result = await provider.SearchAsync(options, TestContext.Current.CancellationToken);
var result = await SearchAsync(options);
result.Items
.OrderBy(item => item.ProductId)