fix: fix ci failed for tests

This commit is contained in:
Meysam Hadeli 2026-02-20 23:18:29 +03:30
parent 23d4babd52
commit 7f9cf8b922
3 changed files with 13 additions and 31 deletions

View File

@ -1,6 +1,5 @@
using System.Net;
using System.Security.Claims;
using Ardalis.GuardClauses;
using BuildingBlocks.Core.Event;
using BuildingBlocks.Core.Model;
using BuildingBlocks.EFCore;
@ -13,7 +12,6 @@ using Grpc.Net.Client;
using MassTransit;
using MassTransit.Testing;
using MediatR;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc.Testing;
@ -24,7 +22,6 @@ using Microsoft.Extensions.Logging;
using MongoDB.Driver;
using NSubstitute;
using Respawn;
using Respawn.Graph;
using WebMotions.Fake.Authentication.JwtBearer;
using Xunit;
using Xunit.Abstractions;
@ -346,32 +343,32 @@ public class TestWriteFixture<TEntryPoint, TWContext> : TestFixture<TEntryPoint>
{
public Task ExecuteDbContextAsync(Func<TWContext, Task> action)
{
return ExecuteScopeAsync(sp => action(sp.GetService<TWContext>()));
return ExecuteScopeAsync(sp => action(sp.GetRequiredService<TWContext>()));
}
public Task ExecuteDbContextAsync(Func<TWContext, ValueTask> action)
{
return ExecuteScopeAsync(sp => action(sp.GetService<TWContext>()).AsTask());
return ExecuteScopeAsync(sp => action(sp.GetRequiredService<TWContext>()).AsTask());
}
public Task ExecuteDbContextAsync(Func<TWContext, IMediator, Task> action)
{
return ExecuteScopeAsync(sp => action(sp.GetService<TWContext>(), sp.GetService<IMediator>()));
return ExecuteScopeAsync(sp => action(sp.GetRequiredService<TWContext>(), sp.GetRequiredService<IMediator>()));
}
public Task<T> ExecuteDbContextAsync<T>(Func<TWContext, Task<T>> action)
{
return ExecuteScopeAsync(sp => action(sp.GetService<TWContext>()));
return ExecuteScopeAsync(sp => action(sp.GetRequiredService<TWContext>()));
}
public Task<T> ExecuteDbContextAsync<T>(Func<TWContext, ValueTask<T>> action)
{
return ExecuteScopeAsync(sp => action(sp.GetService<TWContext>()).AsTask());
return ExecuteScopeAsync(sp => action(sp.GetRequiredService<TWContext>()).AsTask());
}
public Task<T> ExecuteDbContextAsync<T>(Func<TWContext, IMediator, Task<T>> action)
{
return ExecuteScopeAsync(sp => action(sp.GetService<TWContext>(), sp.GetService<IMediator>()));
return ExecuteScopeAsync(sp => action(sp.GetRequiredService<TWContext>(), sp.GetRequiredService<IMediator>()));
}
public Task InsertAsync<T>(params T[] entities)

View File

@ -1,16 +0,0 @@
using AutoBogus;
using Passenger.Passengers.ValueObjects;
namespace Integration.Test.Fakes;
using MassTransit;
public class FakePassenger : AutoFaker<global::Passenger.Passengers.Models.Passenger>
{
public FakePassenger()
{
RuleFor(r => r.Id, _ => PassengerId.Of(NewId.NextGuid()));
RuleFor(r => r.Name, _ => Name.Of("Sam"));
RuleFor(r => r.PassportNumber, _ => PassportNumber.Of("123456789"));
}
}

View File

@ -2,6 +2,7 @@ using BuildingBlocks.TestBase;
using FluentAssertions;
using Integration.Test.Fakes;
using Passenger.Data;
using Passenger.Passengers.ValueObjects;
using Xunit;
namespace Integration.Test.Passenger.Features;
@ -17,13 +18,13 @@ public class CompleteRegisterPassengerTests : PassengerIntegrationTestBase
public async Task should_complete_register_passenger_and_update_to_db()
{
// Arrange
var passenger = new FakePassenger().Generate();
var passenger = global::Passenger.Passengers.Models.Passenger.Create(
PassengerId.Of(Guid.CreateVersion7()),
Name.Of("Sam"),
PassportNumber.Of("123456789")
);
await Fixture.ExecuteDbContextAsync(db =>
{
db.Passengers.Add(passenger);
return db.SaveChangesAsync();
});
await Fixture.InsertAsync(passenger);
var command = new FakeCompleteRegisterPassengerCommand(passenger.PassportNumber, passenger.Id).Generate();