@@ -91,16 +71,6 @@ export default function NewTopicPage() {
submitting={submitting}
initialValues={{ category: initialCategory }}
/>
-
- {
- onboarding.closeModal()
- pendingValues.current = null
- }}
- />
)
diff --git a/src/components/like-button.test.tsx b/src/components/like-button.test.tsx
index caefc12..57218da 100644
--- a/src/components/like-button.test.tsx
+++ b/src/components/like-button.test.tsx
@@ -8,6 +8,8 @@ import { render, screen, waitFor } from '@testing-library/react'
import userEvent from '@testing-library/user-event'
import { axe } from 'vitest-axe'
import { LikeButton } from './like-button'
+import { createMockOnboardingContext } from '@/test/mock-onboarding'
+import type { OnboardingContextValue } from '@/context/onboarding-context'
// --- Mocks ---
@@ -35,6 +37,12 @@ vi.mock('@/hooks/use-auth', () => ({
}),
}))
+let mockOnboardingContext: OnboardingContextValue = createMockOnboardingContext()
+
+vi.mock('@/context/onboarding-context', () => ({
+ useOnboardingContext: () => mockOnboardingContext,
+}))
+
vi.mock('@/lib/api/client', () => ({
getReactions: vi.fn().mockResolvedValue({ reactions: [], cursor: null }),
createReaction: vi.fn().mockResolvedValue({
@@ -62,6 +70,7 @@ beforeEach(() => {
mockToast.mockReset()
mockGetAccessToken.mockReturnValue('mock-access-token')
mockAuthFetch.mockReset()
+ mockOnboardingContext = createMockOnboardingContext()
vi.mocked(getReactions).mockResolvedValue({ reactions: [], cursor: null })
vi.mocked(createReaction).mockResolvedValue({
uri: 'at://did:plc:user-test-001/forum.barazo.interaction.reaction/abc123',
@@ -355,6 +364,43 @@ describe('LikeButton', () => {
})
})
+ describe('onboarding gate', () => {
+ it('does not call createReaction when ensureOnboarded returns false', async () => {
+ mockOnboardingContext = createMockOnboardingContext({
+ ensureOnboarded: vi.fn(() => false),
+ })
+
+ const user = userEvent.setup()
+ render(