Add StoreKit history and modernize admin console
Expose ledger-backed cross-device purchase history while shipping the tested React admin redesign in the same reproducible deployment revision.
This commit is contained in:
@@ -77,6 +77,26 @@ class DeploymentConsistencyTest : FunSpec({
|
||||
rates shouldContain "1,\n 1000,\n 1,\n 400,"
|
||||
}
|
||||
|
||||
test("StoreKit history remains ledger backed, indexed, and privacy minimized") {
|
||||
val historyIndex = root.read(
|
||||
"src/main/resources/db/migration/V15__storekit_purchase_history_index.sql",
|
||||
)
|
||||
historyIndex shouldContain
|
||||
"ON storekit_credit_purchases (user_id, purchased_at, transaction_id)"
|
||||
|
||||
val openApi = root.read("docs/openapi.yaml")
|
||||
val historySchema = openApi
|
||||
.substringAfter(" StoreKitTransactionHistoryItem:")
|
||||
.substringBefore(" AppleAppSiteAssociation:")
|
||||
historySchema shouldContain "purchasedAt"
|
||||
historySchema shouldContain "status"
|
||||
historySchema shouldContain "nextCursor"
|
||||
historySchema shouldNotContain "signedTransaction"
|
||||
historySchema shouldNotContain "appAccountToken"
|
||||
historySchema shouldNotContain "userId"
|
||||
historySchema shouldNotContain "accountId"
|
||||
}
|
||||
|
||||
test("account profiles cascade on deletion and grants stay aligned") {
|
||||
val profileMigration = root.read(
|
||||
"src/main/resources/db/migration/V11__account_profiles.sql",
|
||||
|
||||
Reference in New Issue
Block a user