Skip to content

Quickpoll Upstream Merge#1201

Open
Onyelaudochukwuka wants to merge 433 commits intopre-prodfrom
develop
Open

Quickpoll Upstream Merge#1201
Onyelaudochukwuka wants to merge 433 commits intopre-prodfrom
develop

Conversation

@Onyelaudochukwuka
Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI and others added 30 commits February 20, 2026 12:38
- user_manager.spec.ts: Fix unstable signMessage mock by using stable
  wallet account object; fix null wallet tests to expect undefined return
  (loginWithAddress catches errors) instead of rejection; fix DEFAULT_MESSAGE
  assertion to match actual message text
- participant.service.spec.ts: Pass current participants as prev array to
  handleParticipantUpdate so both existing and added participants appear
- RichTextEditor/index.spec.tsx: Test link rendering by providing HTML
  content with link, since ProseMirror's Link extension (inclusive: false)
  doesn't apply stored link marks via DOM mutations in jsdom
- ThemeSwitcher/index.spec.tsx: Mock useColorMode/useColorModeValue since
  Chakra UI's toggleColorMode doesn't update state in jsdom; use rerender
  to reflect mock state change after click

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add missing `await` on integration.updateEvent in sync_helper.ts (production bug fix)
- This was causing unhandled promise rejections that crash Node.js v24 workers
- Fix delete test assertions to pass (targetAccount, eventIds[]) instead of object
- Suppress console.error in beforeEach to prevent noisy error output in tests

All 140/140 test suites now pass (3232/3233 tests, 1 skipped)

Co-authored-by: Onyelaudochukwuka <82924100+Onyelaudochukwuka@users.noreply.github.com>
…ng user experience with success notifications and improved context handling
…participant handling and improving type consistency
…d-test-files

Delete auto-generated test stubs and fix all remaining spec suite failures
Fix ~101 failing test suites: mocks, imports, dead tests, assertions
Test all 27 hook files (17 in src/hooks/ + 10 in src/hooks/availability/)
with 61 tests covering:
- Import smoke tests for every hook module
- Export verification (default and named exports)
- renderHook tests for simple hooks (useUnmount, usePoller, useClipboard,
  useSlotCache, useTimeRangeSlotCache, useDebounceCallback,
  useAvailabilityBlockUIState)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add two test files:
- src/__tests__/session/session.spec.ts: Tests for core, forceAuthenticationCheck, login, requireAuthentication
- src/__tests__/providers/providers.spec.ts: Tests for all 13 provider modules

All tests verify modules can be imported without crashing and have expected exports.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Verify specific named exports (contexts, providers, hooks, enums) instead
of just checking that the module is defined.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cover all 22 main profile components and 26 sub-components with
import smoke tests, increasing coverage of the largest uncovered area
(12,687 uncovered statements).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add import smoke tests for 22 additional schedule components:
- 12 main schedule components (ConfirmEditMode, DeleteMeetingModal,
  DiscoverATimeInfoModal, ScheduleBase, ScheduleCompleted, ScheduleDay,
  ScheduleDetails, ScheduleMain, base-dialog, cancel.dialog.hook,
  delete-event-dialog, meeting.dialog.hook)
- 10 schedule-time-discover components (AvailabilityTracker,
  DurationSelector, MobileScheduleParticipant, QuickPollTimeSlot,
  ScheduleDateSection, ScheduleParticipants, SchedulePickTime,
  ScheduleTimeSlot, TimeSlotTooltipBody, TimeSlotTooltipContent)

All 41 tests pass, covering every .tsx file in the schedule directory.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Create smoke test files that verify all component modules can be
imported without crashing across: public-meeting, nav, contact,
notifications, meeting, billing, connected-account, wallet,
misc-components, and landing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
New smoke test files:
- connected-calendars: 7 component imports
- input-pickers: 9 component imports (date picker, time picker, slot picker)
- og-images: 8 component imports including jazzicon submodules
- loading: 3 component imports
- icons: 6 component imports

Expanded existing smoke test files:
- calendar-view: added 10 missing components (Calendar, CalendarItems, etc.)
- group: added 6 missing components (GroupAdminChangeModal, Groups, etc.)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ons)

Creates src/__tests__/utils/database-coverage.spec.ts with 193 test cases
covering all exported functions from src/utils/database.ts that were not
already tested in existing spec files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Creates comprehensive smoke tests for service files with 0% or low
coverage: stripe.service, telegram.helper, onramp.money,
office365.credential, calendar.helper, poap.helper, discord.helper,
connected_calendars.factory, master.google.service, office365.service,
and webcal.service.

54 tests verify module imports, export availability, and basic
function invocations with appropriate mocking for external dependencies.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s-test

Add test coverage: type imports, hooks, session, providers, component smoke tests, database and service coverage
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Test coverage for exported functions and values:
- isSupportedCurrency: supported/unsupported currency checks
- getCurrencyDisplayName: display name mapping and fallback
- DEFAULT_MESSAGE: nonce interpolation and uniqueness
- Constant values: numeric and string constant verification
- Enums: OnboardingSubject and PaymentNotificationType values
- COMMON_CURRENCIES: length and membership assertions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Test mutation retry, query retry, retryDelay, and staleTime defaults.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…stants, react_query, meeting-types, select

Co-authored-by: Onyelaudochukwuka <82924100+Onyelaudochukwuka@users.noreply.github.com>
Tests cover generateTimeSlots, getBlockedAvailabilities,
getAvailabilitiesForWeekDay, getEmptySlots, isTimeInsideAvailabilities,
and suggestBestSlots with real luxon/date-fns and mocked date_helper.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Onyelaudochukwuka and others added 30 commits March 29, 2026 22:41
- Updated package.json scripts to optimize memory usage during development and build processes.
- Modified OnboardingModal to support optional pollSlug parameter for dynamic routing based on poll context.
- Introduced PollGuestScheduleFlow component to manage guest scheduling within QuickPolls.
- Enhanced QuickPollAvailabilityDiscover to conditionally render scheduling options for guests.
- Refactored QuickPollPickAvailability to streamline scheduling logic and improve user experience.
- Removed deprecated guest scheduling API endpoint and integrated scheduling logic directly into the meeting creation process.
- Updated ScheduleCompleted component to handle navigation based on guest scheduling context.
- ImageShowcase: autoplay video with native <video> element, muted via DOM ref
- HighlightedBox: glass-card product value proposition callout
- ProblemSection: problem/solution narrative with dual CTA buttons
- HowItWorks: 3-step numbered grid + YouTube embed
- WhoItsFor: 6 role cards with hover shimmer effects
- WhatYouGet: sticky-heading / feature list with group-hover icons
- Testimonials: 5 customer quote cards, 1→2→3 col responsive grid
- group-demo.mp4: demo video asset copied from reference design
- Hero: new headline + GridBackground (CSS grid lines, orange dots, radial glows)
- Pricing: 2-col → 3-col grid, adds Enterprise card, updated feature lists
- FAQ: custom useState accordion with glass cards, BiChevron icons, GridBackground
- faq.tsx: new /faq page with 5 categories, 22 questions, same glass-card accordion
Replace Why + Features with 8 new sections in render order:
Hero → ImageShowcase → HighlightedBox → ProblemSection →
HowItWorks → WhoItsFor → WhatYouGet → Testimonials →
Pricing → Faq → ProAccessPopUp

Hero stays static import (owns LCP image). All others are
dynamic({ ssr: true }). getInitialProps unchanged.
- Navbar: rename 'Pricing' → 'Plans' (href /#pricing unchanged)
- Navbar: add scrollMarginTop to #home, #features, #faq anchor sections
- Footer: fix 'Plans' link from mailto: → /#pricing
JSDOM implements play() but returns undefined instead of a Promise.
typeof guard passed but .catch() on undefined still threw. Using ?.catch()
handles both JSDOM (undefined return) and real browsers (Promise return).
…heduling UI

- Moved guest identity fields for public mode to a more appropriate location within CreatePoll component.
- Improved layout and functionality of availability editing options in PublicPollScheduleView for better user experience.
- Added responsive design adjustments for mobile and small tablet views in scheduling controls.
- Updated Google and Office365 callback handlers to improve error redirection for missing poll context.
- Introduced new session management for pending calendar integrations to streamline OAuth flow.
- Added API endpoint for fetching busy slots during pending calendar integration.
- Enhanced UI components for better user experience during public poll creation and scheduling.
- Improved state management for public poll drafts and calendar connections.
- Changed the showSignInCheckbox property from true to false in PublicPollScheduleViewInner to streamline the guest experience during poll scheduling.
…riables and request headers

- Added IRON_COOKIE_PASSWORD and NEXT_PUBLIC_HOSTED_AT environment variables for testing.
- Updated test setup to include cookie headers in request objects for better simulation of real-world scenarios.
- Refactored handler imports to ensure proper session management during tests.
test: enhance Google and Office365 callback tests with environment variables and request headers
- Changed the showSignInCheckbox property from false to true in PublicPollScheduleViewInner to enhance guest experience during poll scheduling.
refactor: update sign-in checkbox behavior in PublicPollScheduleView
- Introduced CalendarBackendHelper to fetch calendars for pending quick polls, enhancing calendar integration.
- Updated PublicPollScheduleView to utilize a ref for loadSlots, improving state management during slot loading.
- Removed unnecessary calendars property from QuickPollPendingCalendar interface to streamline data handling.
- Adjusted Google and Office365 callback handlers to eliminate redundant calendar data, ensuring cleaner session management.
refactor: improve calendar integration and state management in QuickPoll
…ration

- Added fetchQuickPollPendingCalendarPreview to retrieve pending calendar details for better user experience.
- Updated CreatePoll component to utilize draft data more efficiently, improving state management.
- Enhanced API responses to include pendingEmail and pendingName for better integration with calendar services.
- Adjusted Google and Office365 callback handlers to store user names for improved session management.
refactor: enhance QuickPoll draft handling and calendar preview integration
…pport

- Updated AllPolls component to handle public mode, including local poll management and conditional rendering of poll counts.
- Enhanced PollCard to support public mode actions and improved poll deletion handling.
- Introduced new hooks and state management for local polls, ensuring a seamless user experience in public mode.
- Refactored availability editing and scheduling routes based on public mode context.
refactor: enhance AllPolls and PollCard components for public mode support
- Added expectation for the back button to be enabled with a timeout of 10 seconds, improving test reliability in the schedule meeting flow.
test: enhance back button functionality in schedule meeting flow
- Enhanced the back button functionality by implementing a polling mechanism to verify the reappearance of the initial day header after navigation, ensuring more reliable test outcomes.
- Updated the initial text handling to account for potential whitespace, improving robustness in the test assertions.
test: improve resilience of back navigation in schedule meeting flow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants