start of manual testing

This commit is contained in:
hamid
2026-07-27 00:54:22 +03:30
parent 12ce7fa7de
commit bd06ef0016
21 changed files with 2289 additions and 12 deletions
@@ -12,6 +12,9 @@
</ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="Baya.Test.Foundation" />
<!-- Lets the Development-only DemoLifecycleSeeder build bookings through the real BookingFactory
(both frozen snapshots + the three-amount split) instead of duplicating the conversion logic. -->
<InternalsVisibleTo Include="Baya.Infrastructure.Persistence" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Baya.Domain\Baya.Domain.csproj" />
@@ -79,7 +79,7 @@ internal static class IdentityDefaults
snapshot.Gender,
snapshot.IsActive,
snapshot.Roles,
HasCustomerProfile: false,
HasNurseProfile: false,
NurseVerificationStatus: MeResult.VerificationNotStarted);
snapshot.HasCustomerProfile,
snapshot.HasNurseProfile,
snapshot.NurseVerificationStatus);
}
@@ -1,7 +1,9 @@
#nullable enable
namespace Baya.Application.Models.Identity;
/// <summary>Raw account projection for the current user (phone unmasked — handlers mask it).</summary>
/// <summary>Raw account projection for the current user (phone unmasked — handlers mask it). The profile
/// flags/verification code default to the "nothing yet" shape so test doubles that only care about the
/// account core don't have to state them.</summary>
public record UserAccountSnapshot(
int Id,
string? Phone,
@@ -9,4 +11,7 @@ public record UserAccountSnapshot(
string? LastName,
string? Gender,
bool IsActive,
IReadOnlyList<string> Roles);
IReadOnlyList<string> Roles,
bool HasCustomerProfile = false,
bool HasNurseProfile = false,
string NurseVerificationStatus = "not_started");
@@ -64,4 +64,10 @@ public class NurseProfile : BaseEntity<long>
AverageRating = averageRating;
TotalReviews = totalReviews;
}
/// <summary>The single sanctioned write path for the completed-bookings aggregate — recomputed from
/// source (completed <c>bookings</c> rows), never accepted from a request. Mirrors
/// <see cref="SetReviewAggregates"/>; consumed by the search projection and the public profile.</summary>
public void SetCompletedBookings(int totalCompletedBookings)
=> TotalCompletedBookings = totalCompletedBookings;
}