- Changed the default bucket name in `appsettings.Development.json` from "storage" to "goodgo" and updated MinIO endpoint and credentials for improved access. - Modified the service initialization in `Program.cs` to include the environment name, enhancing configuration flexibility. - Added a missing namespace in `CustomWebApplicationFactory.cs` for better test setup. - Removed obsolete unit test files for `CreateSampleCommandHandler` and `SampleAggregate`, streamlining the test suite.
58 lines
2.1 KiB
C#
58 lines
2.1 KiB
C#
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.AspNetCore.Mvc.Testing;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using StorageService.Infrastructure;
|
|
using StorageService.Infrastructure.Persistence;
|
|
|
|
namespace StorageService.FunctionalTests;
|
|
|
|
/// <summary>
|
|
/// EN: Custom WebApplicationFactory for functional tests.
|
|
/// VI: WebApplicationFactory tùy chỉnh cho functional tests.
|
|
/// </summary>
|
|
public class CustomWebApplicationFactory : WebApplicationFactory<Program>
|
|
{
|
|
protected override void ConfigureWebHost(IWebHostBuilder builder)
|
|
{
|
|
builder.UseEnvironment("Testing");
|
|
|
|
builder.ConfigureServices(services =>
|
|
{
|
|
// EN: Remove the existing DbContext registration
|
|
// VI: Xóa đăng ký DbContext hiện tại
|
|
var descriptor = services.SingleOrDefault(
|
|
d => d.ServiceType == typeof(DbContextOptions<StorageServiceContext>));
|
|
|
|
if (descriptor != null)
|
|
{
|
|
services.Remove(descriptor);
|
|
}
|
|
|
|
// EN: Remove DbContext service
|
|
// VI: Xóa DbContext service
|
|
var dbContextDescriptor = services.SingleOrDefault(
|
|
d => d.ServiceType == typeof(StorageServiceContext));
|
|
|
|
if (dbContextDescriptor != null)
|
|
{
|
|
services.Remove(dbContextDescriptor);
|
|
}
|
|
|
|
// EN: Add in-memory database for testing
|
|
// VI: Thêm in-memory database để test
|
|
services.AddDbContext<StorageServiceContext>(options =>
|
|
{
|
|
options.UseInMemoryDatabase("TestDatabase_" + Guid.NewGuid().ToString());
|
|
});
|
|
|
|
// EN: Ensure database is created with seed data
|
|
// VI: Đảm bảo database được tạo với seed data
|
|
var sp = services.BuildServiceProvider();
|
|
using var scope = sp.CreateScope();
|
|
var db = scope.ServiceProvider.GetRequiredService<StorageServiceContext>();
|
|
db.Database.EnsureCreated();
|
|
});
|
|
}
|
|
}
|