fix: fix issue in seed-manager

This commit is contained in:
Meysam Hadeli 2024-12-19 03:59:40 +03:30
parent cc8989a6b3
commit b9aa18a043
2 changed files with 11 additions and 7 deletions

View File

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace BuildingBlocks.EFCore; namespace BuildingBlocks.EFCore;
@ -15,6 +16,8 @@ public class SeedManager(
await using var scope = serviceProvider.CreateAsyncScope(); await using var scope = serviceProvider.CreateAsyncScope();
var dataSeeders = scope.ServiceProvider.GetServices<IDataSeeder>(); var dataSeeders = scope.ServiceProvider.GetServices<IDataSeeder>();
if (!env.IsEnvironment("test"))
{
foreach (var seeder in dataSeeders.Where(x => x is not ITestDataSeeder)) foreach (var seeder in dataSeeders.Where(x => x is not ITestDataSeeder))
{ {
logger.LogInformation("Seed {SeederName} is started.", seeder.GetType().Name); logger.LogInformation("Seed {SeederName} is started.", seeder.GetType().Name);
@ -22,13 +25,14 @@ public class SeedManager(
logger.LogInformation("Seed {SeederName} is completed.", seeder.GetType().Name); logger.LogInformation("Seed {SeederName} is completed.", seeder.GetType().Name);
} }
} }
}
public async Task ExecuteTestSeedAsync() public async Task ExecuteTestSeedAsync()
{ {
await using var scope = serviceProvider.CreateAsyncScope(); await using var scope = serviceProvider.CreateAsyncScope();
var dataSeeders = scope.ServiceProvider.GetServices<IDataSeeder>(); var dataSeeders = scope.ServiceProvider.GetServices<IDataSeeder>();
foreach (var seeder in dataSeeders.Where(x => x is not ITestDataSeeder)) foreach (var seeder in dataSeeders.Where(x => x is ITestDataSeeder))
{ {
logger.LogInformation("Seed {SeederName} is started.", seeder.GetType().Name); logger.LogInformation("Seed {SeederName} is started.", seeder.GetType().Name);
await seeder.SeedAllAsync(); await seeder.SeedAllAsync();

View File

@ -8,12 +8,12 @@ using Microsoft.AspNetCore.Identity;
namespace Integration.Test; namespace Integration.Test;
public class IdentityDataSeeder( public class IdentityTestDataSeeder(
UserManager<User> userManager, UserManager<User> userManager,
RoleManager<Role> roleManager, RoleManager<Role> roleManager,
IEventDispatcher eventDispatcher IEventDispatcher eventDispatcher
) )
: IDataSeeder : ITestDataSeeder
{ {
public async Task SeedAllAsync() public async Task SeedAllAsync()
{ {