Cleaned up test code files.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
{
|
||||
@@ -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);
|
||||
@@ -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)
|
||||
{
|
||||
@@ -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");
|
||||
@@ -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
|
||||
{
|
||||
@@ -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)
|
||||
{
|
||||
@@ -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);
|
||||
@@ -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)
|
||||
{
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user