diff --git a/app/Features/AiConsentSettings.php b/app/Features/AiConsentSettings.php deleted file mode 100644 index 92049d47..00000000 --- a/app/Features/AiConsentSettings.php +++ /dev/null @@ -1,24 +0,0 @@ - true, 'calculateBalancesOnImport' => false, - 'aiConsentSettings' => false, ]; } $features = Feature::for($user)->values([ CalculateBalancesOnImport::class, - AiConsentSettings::class, ]); return [ 'cashflow' => true, 'calculateBalancesOnImport' => $features[CalculateBalancesOnImport::class] !== false, - 'aiConsentSettings' => $features[AiConsentSettings::class] !== false, ]; } diff --git a/resources/js/pages/settings/billing.tsx b/resources/js/pages/settings/billing.tsx index 0a1ff167..5ca05e8c 100644 --- a/resources/js/pages/settings/billing.tsx +++ b/resources/js/pages/settings/billing.tsx @@ -476,7 +476,7 @@ function AiConsentSection({ } export default function Billing() { - const { auth, pricing, locale, features, hasAiConsent, refund } = usePage< + const { auth, pricing, locale, hasAiConsent, refund } = usePage< SharedData & { hasAiConsent: boolean; refund?: RefundInfo } >().props; const isDemoAccount = auth?.isDemoAccount ?? false; @@ -507,12 +507,10 @@ export default function Billing() { /> )} - {features.aiConsentSettings && ( - - )} + diff --git a/resources/js/pages/transactions/index.tsx b/resources/js/pages/transactions/index.tsx index c951b057..9fa09fdd 100644 --- a/resources/js/pages/transactions/index.tsx +++ b/resources/js/pages/transactions/index.tsx @@ -437,12 +437,11 @@ export default function Transactions({ lastVisitAt, }: Props) { const locale = useLocale(); - const { auth, features } = usePage().props; + const { auth } = usePage().props; const [aiConsentResolved, setAiConsentResolved] = useState(false); const [aiConsentSaving, setAiConsentSaving] = useState(false); const showAiConsentBanner = auth.hasProPlan && - features.aiConsentSettings && !hasAiConsent && !aiConsentPromptDismissed && !aiConsentResolved; diff --git a/resources/js/types/index.d.ts b/resources/js/types/index.d.ts index dd8cda89..525a0033 100644 --- a/resources/js/types/index.d.ts +++ b/resources/js/types/index.d.ts @@ -42,7 +42,6 @@ export interface NavDivider { export interface Features { cashflow: boolean; calculateBalancesOnImport: boolean; - aiConsentSettings: boolean; } export interface ExpiredBankingConnectionNotification { diff --git a/tests/Feature/AiConsentSettingsTest.php b/tests/Feature/AiConsentSettingsTest.php index e7af5450..e7edacf5 100644 --- a/tests/Feature/AiConsentSettingsTest.php +++ b/tests/Feature/AiConsentSettingsTest.php @@ -1,31 +1,10 @@ onboarded()->create(); - - actingAs($user)->withoutVite()->get(route('dashboard')) - ->assertInertia(fn (Assert $page) => $page - ->where('features.aiConsentSettings', false) - ); -}); - -test('ai consent settings flag is exposed when activated for the user', function () { - $user = User::factory()->onboarded()->create(); - Feature::for($user)->activate(AiConsentSettings::class); - - actingAs($user)->withoutVite()->get(route('dashboard')) - ->assertInertia(fn (Assert $page) => $page - ->where('features.aiConsentSettings', true) - ); -}); - test('billing page reports current ai consent state', function () { config(['subscriptions.enabled' => true]); $user = User::factory()->onboarded()->create(); diff --git a/tests/Feature/Console/FeatureEnableCommandTest.php b/tests/Feature/Console/FeatureEnableCommandTest.php index 7b1f6264..2ea50280 100644 --- a/tests/Feature/Console/FeatureEnableCommandTest.php +++ b/tests/Feature/Console/FeatureEnableCommandTest.php @@ -1,17 +1,17 @@ count(10)->create(); - $this->artisan('feature:enable', ['feature' => 'AiConsentSettings', 'target' => '40%']) + $this->artisan('feature:enable', ['feature' => 'CalculateBalancesOnImport', 'target' => '40%']) ->expectsOutputToContain('enabled for 4 users') ->assertSuccessful(); - $enabled = $users->filter(fn (User $user) => Feature::for($user)->active(AiConsentSettings::class)); + $enabled = $users->filter(fn (User $user) => Feature::for($user)->active(CalculateBalancesOnImport::class)); expect($enabled)->toHaveCount(4); }); @@ -19,6 +19,6 @@ test('enables a feature for a percentage of users', function () { test('rejects an out-of-range percentage', function () { User::factory()->create(); - $this->artisan('feature:enable', ['feature' => 'AiConsentSettings', 'target' => '0%']) + $this->artisan('feature:enable', ['feature' => 'CalculateBalancesOnImport', 'target' => '0%']) ->assertFailed(); }); diff --git a/tests/Feature/InertiaSharedDataTest.php b/tests/Feature/InertiaSharedDataTest.php index b9097964..a2d2c691 100644 --- a/tests/Feature/InertiaSharedDataTest.php +++ b/tests/Feature/InertiaSharedDataTest.php @@ -43,7 +43,6 @@ test('shared feature flags do not include coinbase flag', function () { expect($props['features'])->toBe([ 'cashflow' => true, 'calculateBalancesOnImport' => false, - 'aiConsentSettings' => false, ]); });