xtablo-source/supabase/tests/database/13_apple_billing.test.sql

102 lines
2.9 KiB
MySQL
Raw Permalink Normal View History

begin;
select plan(17);
-- ============================================================================
-- Table Existence
-- ============================================================================
SELECT has_table('public', 'apple_customers', 'apple_customers table should exist');
SELECT has_table('public', 'apple_subscriptions', 'apple_subscriptions table should exist');
SELECT has_table(
'public',
'apple_subscription_events',
'apple_subscription_events table should exist'
);
-- ============================================================================
-- Column Coverage
-- ============================================================================
SELECT has_column('public', 'apple_customers', 'user_id', 'apple_customers should have user_id');
SELECT has_column(
'public',
'apple_customers',
'revenuecat_app_user_id',
'apple_customers should have revenuecat_app_user_id'
);
SELECT has_column(
'public',
'apple_subscriptions',
'owner_user_id',
'apple_subscriptions should have owner_user_id'
);
SELECT has_column(
'public',
'apple_subscriptions',
'original_transaction_id',
'apple_subscriptions should have original_transaction_id'
);
SELECT has_column(
'public',
'apple_subscription_events',
'event_id',
'apple_subscription_events should have event_id'
);
-- ============================================================================
-- Primary Keys + Constraints
-- ============================================================================
SELECT has_pk('public', 'apple_customers', 'apple_customers should have primary key');
SELECT has_pk('public', 'apple_subscriptions', 'apple_subscriptions should have primary key');
SELECT has_pk(
'public',
'apple_subscription_events',
'apple_subscription_events should have primary key'
);
SELECT has_index(
'public',
'apple_customers',
'apple_customers_user_id_key',
'apple_customers.user_id unique constraint should exist'
);
SELECT has_index(
'public',
'apple_customers',
'apple_customers_revenuecat_app_user_id_key',
'apple_customers.revenuecat_app_user_id unique constraint should exist'
);
SELECT has_index(
'public',
'apple_subscriptions',
'apple_subscriptions_original_transaction_id_key',
'apple_subscriptions.original_transaction_id unique constraint should exist'
);
-- ============================================================================
-- Performance Indexes
-- ============================================================================
SELECT has_index(
'public',
'apple_subscriptions',
'idx_apple_subscriptions_owner_user_id',
'apple_subscriptions owner_user_id index should exist'
);
SELECT has_index(
'public',
'apple_subscriptions',
'idx_apple_subscriptions_status',
'apple_subscriptions status index should exist'
);
SELECT has_index(
'public',
'apple_subscriptions',
'idx_apple_subscriptions_current_period_end',
'apple_subscriptions current_period_end index should exist'
);
select * from finish();
rollback;