Resolve account subscription sync state
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import {
|
||||
buildAuthMePath,
|
||||
mergeAccountAuthSnapshot,
|
||||
shouldResolveAccountUnknownWithFullProfile,
|
||||
} from "@/lib/auth-snapshot";
|
||||
import type { AuthSnapshotLike } from "@/lib/auth-snapshot";
|
||||
|
||||
@@ -64,4 +65,33 @@ export function runTests() {
|
||||
inactive.subscription_active === false,
|
||||
"account snapshot merge must still accept a confirmed inactive subscription response",
|
||||
);
|
||||
|
||||
assert(
|
||||
shouldResolveAccountUnknownWithFullProfile(
|
||||
{ authenticated: true, subscription_active: null },
|
||||
true,
|
||||
),
|
||||
"account center must resolve an unknown local-user subscription snapshot with the full auth profile",
|
||||
);
|
||||
assert(
|
||||
!shouldResolveAccountUnknownWithFullProfile(
|
||||
{ authenticated: true, subscription_active: false },
|
||||
true,
|
||||
),
|
||||
"account center must not re-resolve an explicitly inactive subscription snapshot",
|
||||
);
|
||||
assert(
|
||||
!shouldResolveAccountUnknownWithFullProfile(
|
||||
{ authenticated: false, subscription_active: null },
|
||||
true,
|
||||
),
|
||||
"account center must not re-resolve an unauthenticated backend snapshot",
|
||||
);
|
||||
assert(
|
||||
!shouldResolveAccountUnknownWithFullProfile(
|
||||
{ authenticated: true, subscription_active: null },
|
||||
false,
|
||||
),
|
||||
"account center must only resolve unknown subscription snapshots when a local Supabase user exists",
|
||||
);
|
||||
}
|
||||
|
||||
@@ -259,6 +259,13 @@ export function runTests() {
|
||||
hookSource.includes("retriedBackendJson"),
|
||||
"account snapshot loader must retry with a refreshed Supabase token when local user exists but /api/auth/me reports unauthenticated",
|
||||
);
|
||||
assert(
|
||||
hookSource.includes("shouldResolveAccountUnknownWithFullProfile") &&
|
||||
hookSource.includes("backendJson = await readAuthSnapshot(latestHeaders);") &&
|
||||
hookSource.indexOf("shouldResolveAccountUnknownWithFullProfile") <
|
||||
hookSource.indexOf("setBackend((previous) => mergeAccountAuthSnapshot(previous, backendJson))"),
|
||||
"account snapshot loader must resolve unknown entitlement-scope results through full auth/me before rendering account status",
|
||||
);
|
||||
assert(
|
||||
hookSource.includes("refreshEntitlementAfterPayment") &&
|
||||
paymentFlowSource.includes("refreshEntitlementAfterPayment") &&
|
||||
|
||||
Reference in New Issue
Block a user