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.Infrastructure.Data;
using JSMR.Tests.Fixtures;
namespace JSMR.Tests.Fixtures; namespace JSMR.Tests.Search.Circle;
public sealed class CircleSearchProviderFixture(MariaDbContainerFixture container) : SearchProviderFixture(container) 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.Application.Common.Search;
using JSMR.Infrastructure.Data; using JSMR.Infrastructure.Data;
using JSMR.Infrastructure.Data.Repositories.Circles; using JSMR.Infrastructure.Data.Repositories.Circles;
using JSMR.Tests.Fixtures;
using Shouldly; 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> public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IClassFixture<CircleSearchProviderFixture>
{ {
[Fact] private async Task<SearchResult<CircleSearchItem>> SearchAsync(SearchOptions<CircleSearchCriteria, CircleSortField> options)
public async Task Filter_None()
{ {
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!; AppDbContext context = fixture.DbContext!;
CircleSearchProvider provider = new(context); CircleSearchProvider provider = new(context);
return await provider.SearchAsync(options, TestContext.Current.CancellationToken);
}
[Fact]
public async Task Filter_None()
{
var options = new SearchOptions<CircleSearchCriteria, CircleSortField>() var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4); result.TotalItems.ShouldBe(4);
@@ -34,19 +37,15 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Filter_By_Status_Not_Blacklisted() 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>() var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3); result.TotalItems.ShouldBe(3);
@@ -56,19 +55,15 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Filter_By_Status_Favorited() 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>() var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -78,19 +73,15 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Filter_By_Status_Blacklisted() 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>() var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -100,19 +91,15 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Filter_By_Status_Spam() 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>() var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -122,10 +109,6 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Filter_By_Name_Circle_Name() 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>() var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2); result.TotalItems.ShouldBe(2);
@@ -144,10 +127,6 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Filter_By_Name_Circle_Id() 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>() var options = new SearchOptions<CircleSearchCriteria, CircleSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -166,16 +145,12 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Sort_By_Name_Descending() 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>() 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.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4); result.TotalItems.ShouldBe(4);
@@ -188,16 +163,12 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Sort_By_Favorite_Ascending() 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>() 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.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4); result.TotalItems.ShouldBe(4);
@@ -208,16 +179,12 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Sort_By_Blacklisted_Ascending() 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>() 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.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4); result.TotalItems.ShouldBe(4);
@@ -228,16 +195,12 @@ public class CircleSearchProviderTests(CircleSearchProviderFixture fixture) : IC
[Fact] [Fact]
public async Task Sort_By_Spam_Ascending() 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>() 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.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4); result.TotalItems.ShouldBe(4);

View File

@@ -1,6 +1,7 @@
using JSMR.Infrastructure.Data; 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) public sealed class CreatorSearchProviderFixture(MariaDbContainerFixture container) : SearchProviderFixture(container)
{ {

View File

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

View File

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

View File

@@ -1,6 +1,7 @@
using JSMR.Infrastructure.Data; 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) public sealed class TagSearchProviderFixture(MariaDbContainerFixture container) : SearchProviderFixture(container)
{ {

View File

@@ -2,26 +2,30 @@
using JSMR.Application.Tags.Queries.Search.Contracts; using JSMR.Application.Tags.Queries.Search.Contracts;
using JSMR.Infrastructure.Data; using JSMR.Infrastructure.Data;
using JSMR.Infrastructure.Data.Repositories.Tags; using JSMR.Infrastructure.Data.Repositories.Tags;
using JSMR.Tests.Fixtures;
using Shouldly; 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> public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFixture<TagSearchProviderFixture>
{ {
[Fact] private async Task<SearchResult<TagSearchItem>> SearchAsync(SearchOptions<TagSearchCriteria, TagSortField> options)
public async Task Filter_None_Sort_Name()
{ {
//await using AppDbContext context = fixture.CreateDbContext();
AppDbContext context = fixture.DbContext!; AppDbContext context = fixture.DbContext!;
TagSearchProvider provider = new(context); 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>() 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.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3); result.TotalItems.ShouldBe(3);
@@ -32,16 +36,12 @@ public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFi
[Fact] [Fact]
public async Task Filter_None_Sort_EnglishName() 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>() 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.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3); result.TotalItems.ShouldBe(3);
@@ -52,10 +52,6 @@ public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFi
[Fact] [Fact]
public async Task Filter_By_Name_Tag_Name() 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>() var options = new SearchOptions<TagSearchCriteria, TagSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -74,10 +70,6 @@ public class TagSearchProviderTests(TagSearchProviderFixture fixture) : IClassFi
[Fact] [Fact]
public async Task Filter_By_Name_English_Tag_Name() 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>() var options = new SearchOptions<TagSearchCriteria, TagSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);

View File

@@ -1,7 +1,8 @@
using JSMR.Domain.Enums; using JSMR.Domain.Enums;
using JSMR.Infrastructure.Data; 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) public sealed class VoiceWorkSearchProviderFixture(MariaDbContainerFixture container) : SearchProviderFixture(container)
{ {

View File

@@ -2,28 +2,25 @@
using JSMR.Application.VoiceWorks.Queries.Search; using JSMR.Application.VoiceWorks.Queries.Search;
using JSMR.Infrastructure.Data; using JSMR.Infrastructure.Data;
using JSMR.Infrastructure.Data.Repositories.VoiceWorks; using JSMR.Infrastructure.Data.Repositories.VoiceWorks;
using JSMR.Tests.Fixtures;
using Shouldly; 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> 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(); MySqlVoiceWorkFullTextSearch fullTextSearch = new();
VoiceWorkSearchProvider provider = new(context, fullTextSearch); VoiceWorkSearchProvider provider = new(context, fullTextSearch);
return provider; return await provider.SearchAsync(options, TestContext.Current.CancellationToken);
} }
[Fact] [Fact]
public async Task Filter_Default() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2); result.TotalItems.ShouldBe(2);
@@ -44,10 +41,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Upcoming_Favorite() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -68,10 +61,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Availble_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -92,10 +81,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Keywords_Basic() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3); result.TotalItems.ShouldBe(3);
@@ -114,10 +99,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Keywords_Not_Good() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2); result.TotalItems.ShouldBe(2);
@@ -137,10 +118,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Keywords_Dreams_And_Amazing_Or_Favorite() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2); result.TotalItems.ShouldBe(2);
@@ -163,10 +140,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Keywords_Phrase_Search() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -185,10 +158,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Tags_Favorite_Exclude_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -211,10 +180,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Tags_Favorite_Include_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2); result.TotalItems.ShouldBe(2);
@@ -237,10 +202,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Tags_Not_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4); result.TotalItems.ShouldBe(4);
@@ -263,10 +224,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Tags_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -289,10 +246,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_TagIds_Or() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2); result.TotalItems.ShouldBe(2);
@@ -316,10 +269,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_TagIds_And() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -343,10 +292,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Creators_Favorite_Exclude_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(2);
result.TotalItems.ShouldBe(2); result.TotalItems.ShouldBe(2);
@@ -369,10 +314,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Creators_Favorite_Include_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3); result.TotalItems.ShouldBe(3);
@@ -395,10 +336,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Creators_Not_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(4);
result.TotalItems.ShouldBe(4); result.TotalItems.ShouldBe(4);
@@ -421,10 +358,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Creators_Blacklisted() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -447,10 +380,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_CreatorIds_Or() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(3);
result.TotalItems.ShouldBe(3); result.TotalItems.ShouldBe(3);
@@ -474,10 +403,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_CreatorIds_And() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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.Items.Length.ShouldBe(1);
result.TotalItems.ShouldBe(1); result.TotalItems.ShouldBe(1);
@@ -501,19 +426,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Sort_By_Release_Date_Ascending() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
SortOptions = 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 result.Items
.Select(item => item.ProductId) .Select(item => item.ProductId)
@@ -523,19 +444,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Sort_By_Release_Date_Descending() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
SortOptions = 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 result.Items
.Select(item => item.ProductId) .Select(item => item.ProductId)
@@ -545,19 +462,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Sort_By_Downloads_Ascending() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
SortOptions = 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 result.Items
.Select(item => item.ProductId) .Select(item => item.ProductId)
@@ -567,19 +480,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Sort_By_Downloads_Descending() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
SortOptions = 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 result.Items
.Select(item => item.ProductId) .Select(item => item.ProductId)
@@ -589,19 +498,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Sort_By_WishlistCount_Ascending() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
SortOptions = 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 result.Items
.Select(item => item.ProductId) .Select(item => item.ProductId)
@@ -611,19 +516,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Sort_By_WishlistCount_Descending() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
SortOptions = 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 result.Items
.Select(item => item.ProductId) .Select(item => item.ProductId)
@@ -633,19 +534,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Sort_By_StarRating_Ascending() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
SortOptions = 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 result.Items
.Select(item => item.ProductId) .Select(item => item.ProductId)
@@ -655,19 +552,15 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Sort_By_StarRating_Descending() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
SortOptions = 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 result.Items
.Select(item => item.ProductId) .Select(item => item.ProductId)
@@ -677,10 +570,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Release_Date_Range() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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 result.Items
.OrderBy(item => item.ProductId) .OrderBy(item => item.ProductId)
@@ -701,10 +590,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Downloads_Range() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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 result.Items
.OrderBy(item => item.ProductId) .OrderBy(item => item.ProductId)
@@ -725,10 +610,6 @@ public class VoiceWorkSearchProviderTests(VoiceWorkSearchProviderFixture fixture
[Fact] [Fact]
public async Task Filter_Favorite() 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>() var options = new SearchOptions<VoiceWorkSearchCriteria, VoiceWorkSortField>()
{ {
Criteria = new() 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 result.Items
.OrderBy(item => item.ProductId) .OrderBy(item => item.ProductId)