Skip to content

Final Milestone Test Execution Reports ‐ Frontend

sevdepekkose edited this page May 16, 2026 · 1 revision

This page contains the full verbose test execution output for the Frontend (Web) layer, showing the results of unit and component tests.

 ✓ src/viewmodels/event/useEventDetailViewModel.test.ts > useEventDetailViewModel favorites > adds favorite locally without refetching event detail 66ms
 ✓ src/views/invitations/InvitationsPage.test.tsx > InvitationsPage > shows loading state while fetching 27ms
 ✓ src/views/invitations/InvitationsPage.test.tsx > InvitationsPage > shows empty state when there are no invitations 5ms
 ✓ src/views/notifications/NotificationsPage.test.tsx > NotificationsPage invitation modal > renders accepted and declined invitation notification labels in the feed 71ms
stderr | src/views/invitations/InvitationsPage.test.tsx > InvitationsPage > calls handleAccept when Accept is clicked
An update to MemoryRouter inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/invitations/InvitationsPage.test.tsx > InvitationsPage > renders pending invitation with accept and decline actions 110ms
 ✓ src/views/invitations/InvitationsPage.test.tsx > InvitationsPage > renders past accepted invitation without response actions 10ms
 ✓ src/views/invitations/InvitationsPage.test.tsx > InvitationsPage > calls handleAccept when Accept is clicked 14ms
 ✓ src/views/invitations/InvitationsPage.test.tsx > InvitationsPage > renders an error message and dismiss button 13ms
 ✓ src/viewmodels/event/useEventDetailViewModel.test.ts > useEventDetailViewModel favorites > removes favorite locally without refetching event detail 56ms
 ✓ src/viewmodels/event/useEventDetailViewModel.test.ts > useEventDetailViewModel favorites > rolls back the local favorite state when the request fails 55ms
 ✓ src/views/notifications/NotificationsPage.test.tsx > NotificationsPage invitation modal > opens invitation details from an invitation notification and fetches by invitation id 122ms
 ✓ src/views/notifications/NotificationsPage.test.tsx > NotificationsPage invitation modal > shows a non-actionable canceled invitation state 71ms
 ✓ src/views/backoffice/NotificationsAdminPage.test.tsx > NotificationsAdminPage > validates required fields without clearing typed state 169ms
 ✓ src/viewmodels/event/useEventDetailViewModel.test.ts > useEventDetailViewModel favorites > marks the viewer as pending immediately after a successful join request 60ms
 ✓ src/viewmodels/event/useEventDetailViewModel.test.ts > useEventDetailViewModel favorites > marks the viewer as joined immediately after a successful public join 58ms
 ✓ src/views/backoffice/ParticipationsAdminPage.test.tsx > ParticipationsAdminPage > creates an approved manual participation and refreshes the table 198ms
 ✓ src/views/backoffice/NotificationsAdminPage.test.tsx > NotificationsAdminPage > submits selected delivery mode and displays backend result counts 121ms
 ✓ src/views/backoffice/NotificationsAdminPage.test.tsx > NotificationsAdminPage > loads sent notifications and filters by user 188ms
 ✓ src/views/backoffice/ParticipationsAdminPage.test.tsx > ParticipationsAdminPage > shows create validation and backend failures without refreshing 171ms
 ✓ src/views/backoffice/ParticipationsAdminPage.test.tsx > ParticipationsAdminPage > confirms cancellation, sends the cancel action, and refreshes the table 126ms
 ✓ src/components/AppShell.test.tsx > AppShell admin entry > exposes skip link, main landmark, and navigation state 396ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > links the host name block to the public profile page
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/components/AppShell.test.tsx > AppShell admin entry > shows non-admin header actions as locked when unauthenticated 100ms
 ✓ src/components/AppShell.test.tsx > AppShell admin entry > shows Admin Panel for authenticated admins 32ms
 ✓ src/components/AppShell.test.tsx > AppShell admin entry > hides Admin Panel for regular authenticated users 23ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > links approved participants to the public profile page from the management list
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > lets the host end an in-progress event from the management section 402ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > links the host name block to the public profile page 47ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > links pending join requesters to the public profile page
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > links approved participants to the public profile page from the management list 51ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > links pending join requesters to the public profile page 24ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows report success state from the view model
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows existing participant rating in summary mode until edit is requested
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > opens the report modal from the flag button and submits the selected reason 143ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows report success state from the view model 32ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the participant rating card for non-participants
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows host-side participant ratings and edit actions in the management list
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > renders the directions link with the event coordinates when location is a POINT
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows existing participant rating in summary mode until edit is requested 68ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the participant rating card for non-participants 13ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows host-side participant ratings and edit actions in the management list 59ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows approximate area copy and hides directions for approximate protected locations
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the approximate district and province when protected location address is available
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the map fallback and hides the directions link when coordinates are missing
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the Invite Users button on private events for the host
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the Invite Users button on public events even for the host
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > renders the directions link with the event coordinates when location is a POINT 41ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows approximate area copy and hides directions for approximate protected locations 28ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the approximate district and province when protected location address is available 23ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the map fallback and hides the directions link when coordinates are missing 17ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > builds a Google Maps directions URL with encoded destination coordinates 0ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the Invite Users button on private events for the host 29ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the Invite Users button for non-host viewers on private events
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows a pending join-request banner instead of join actions
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the proof image picker in the request form when expanded
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > renders a View Attachment link for host pending requests with image_url
In HTML, <a> cannot be a descendant of <a>.
This will cause a hydration error.

  ...
    <Router basename={undefined} location={{pathname:"...", ...}} navigationType="POP" navigator={{index:0, ...}} ...>
      <Routes>
        <RenderedRoute match={{...}} routeContext={{outlet:null, ...}}>
          <EventDetailPage>
            <EventContent event={{id:"event-1", ...}} isAuthenticated={true} token="token" coverImageUploading={false} ...>
              <div className="ed-page">
                <button>
                <div>
                <div>
                <div>
                <ExpiryWarningBanner>
                <ReconfirmationBanner>
                <JoinActionSection>
                <ParticipantRatingSection>
                <div className="ed-sections">
                  <div>
                  <LocationSection>
                  <div>
                  <div>
                  <div>
                  <div>
                  <EventVersionHistorySection>
                  <div className="ed-section">
                    <h2>
                    <div>
                    <div>
                    <div className="ed-mgmt-group">
                      <h3>
                      <ul className="ed-mgmt-list">
                        <li className="ed-mgmt-it...">
                          <LinkWithRef>
                          <LinkWithRef to="/users/req..." className="ed-mgmt-us...">
>                           <a
>                             className="ed-mgmt-user-link"
>                             href="/users/requester-1"
>                             onClick={function handleClick}
>                             ref={function}
>                             target={undefined}
>                             data-discover="true"
>                           >
                              <div className="ed-mgmt-us...">
                                <div>
                                <span>
                                <span>
>                               <a
>                                 className="ed-mgmt-attachment"
>                                 href="https://sem-bucket.fra1.cdn.digitaloceanspaces.com/events/x/join-requests/y/up..."
>                                 target="_blank"
>                                 rel="noopener noreferrer"
>                                 data-testid="ed-mgmt-attachment-jr-1"
>                               >
                          ...
                  ...

<a> cannot contain a nested <a>.
See this log for the ancestor stack trace.

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > renders a View Attachment link for host pending requests with image_url
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > does not render the attachment link when image_url is null
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows a Cancel Request button only when the user has a pending request
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the Invite Users button on public events even for the host 17ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the Invite Users button for non-host viewers on private events 10ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows a pending join-request banner instead of join actions 35ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the proof image picker in the request form when expanded 20ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > renders a View Attachment link for host pending requests with image_url 15ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > does not render the attachment link when image_url is null 15ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > does not show a Cancel Request button for non-pending viewers
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > does not show a Cancel Request button when attendance needs reconfirmation
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > opens a confirmation modal and only calls handleCancelJoinRequest after confirming
An update to JoinActionSection inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > opens a confirmation modal and only calls handleCancelJoinRequest after confirming
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > renders a dismissible error message when cancel fails
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the View Ticket CTA for joined participants on public events
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the View Ticket CTA for joined participants on protected events
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the View Ticket CTA for joined participants on private events
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows a Cancel Request button only when the user has a pending request 12ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > does not show a Cancel Request button for non-pending viewers 10ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > does not show a Cancel Request button when attendance needs reconfirmation 33ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > opens a confirmation modal and only calls handleCancelJoinRequest after confirming 30ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > renders a dismissible error message when cancel fails 14ms
stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the View Ticket CTA for non-participants
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the View Ticket CTA for completed or canceled events
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EventInteractionPanel inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the View Ticket CTA for joined participants on public events 13ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the View Ticket CTA for joined participants on protected events 43ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > shows the View Ticket CTA for joined participants on private events 7ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the View Ticket CTA for non-participants 7ms
 ✓ src/views/events/EventDetailPage.test.tsx > EventDetailPage ratings > hides the View Ticket CTA for completed or canceled events 15ms
 ✓ src/views/profile/PublicProfilePage.test.tsx > PublicProfilePage > renders public profile sections without private account fields 60ms
 ✓ src/views/profile/PublicProfilePage.test.tsx > PublicProfilePage > renders a loading state while the profile is being fetched 5ms
 ✓ src/views/profile/PublicProfilePage.test.tsx > PublicProfilePage > renders an error state and retries when requested 84ms
 ✓ src/views/tickets/TicketDetailPage.test.tsx > TicketDetailPage > renders ticket info, status, and the mobile QR hint for an active ticket 68ms
 ✓ src/views/tickets/TicketDetailPage.test.tsx > TicketDetailPage > shows the eligibility notice when the active ticket cannot issue a QR right now 6ms
 ✓ src/views/tickets/TicketDetailPage.test.tsx > TicketDetailPage > hides the mobile QR hint for non-active tickets (USED, EXPIRED, CANCELED) 4ms
 ✓ src/views/tickets/TicketDetailPage.test.tsx > TicketDetailPage > renders the not-found view when the ticket is missing or not owned by the caller 7ms
 ✓ src/views/tickets/TicketDetailPage.test.tsx > TicketDetailPage > renders an error message with retry when the request fails 135ms
stderr | src/viewmodels/notifications/useUnreadCountViewModel.test.ts > useUnreadCountViewModel > applies immediate unread count updates from notification interactions
An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/viewmodels/notifications/useUnreadCountViewModel.test.ts > useUnreadCountViewModel > applies immediate unread count updates from notification interactions
An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/viewmodels/notifications/useUnreadCountViewModel.test.ts > useUnreadCountViewModel > applies immediate unread count updates from notification interactions
An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

stderr | src/viewmodels/notifications/useUnreadCountViewModel.test.ts > useUnreadCountViewModel > applies immediate unread count updates from notification interactions
An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act

 ✓ src/viewmodels/favorites/useFavoritesViewModel.test.ts > useFavoritesViewModel > returns favorited events 66ms
 ✓ src/viewmodels/notifications/useUnreadCountViewModel.test.ts > useUnreadCountViewModel > applies immediate unread count updates from notification interactions 229ms
 ✓ src/viewmodels/favorites/useFavoritesViewModel.test.ts > useFavoritesViewModel > returns empty list when no favorites 56ms
 ✓ src/viewmodels/favorites/useFavoritesViewModel.test.ts > useFavoritesViewModel > sets error on failure 58ms
 ✓ src/components/LanguageSwitcher.test.tsx > LanguageSwitcher > switches locale and persists the selection 143ms
 ✓ src/App.test.tsx > App / route > shows landing page when unauthenticated 37ms
 ✓ src/App.test.tsx > App / route > redirects authenticated user from / to /discover 14ms
 ✓ src/App.test.tsx > App / route > renders nothing while auth is loading 6ms
 ✓ src/App.test.tsx > App / route > denies /backoffice child pages to non-admin users 13ms
 ✓ src/App.test.tsx > App / route > renders /backoffice child pages for admins 134ms
 ✓ src/viewmodels/event/useMyEventsViewModel.test.ts > useMyEventsViewModel > splits upcoming response into upcoming (ACTIVE) and active (IN_PROGRESS) 74ms
 ✓ src/viewmodels/event/useMyEventsViewModel.test.ts > useMyEventsViewModel > returns empty active list when no IN_PROGRESS events 58ms
 ✓ src/viewmodels/event/useMyEventsViewModel.test.ts > useMyEventsViewModel > defaults to active tab 60ms
 ✓ src/views/tickets/TicketsPage.test.tsx > TicketsPage > shows the loading state while fetching 122ms
 ✓ src/views/tickets/TicketsPage.test.tsx > TicketsPage > renders the empty state when there are no tickets 14ms
 ✓ src/views/tickets/TicketsPage.test.tsx > TicketsPage > renders an active ticket card with status badge and event info 31ms
 ✓ src/views/tickets/TicketsPage.test.tsx > TicketsPage > renders a USED ticket with the Used status badge 3ms
 ✓ src/views/events/MyEventsPage.test.tsx > MyEventsPage tabs > renders tabs in the updated order with Hosted label 173ms
 ✓ src/views/tickets/TicketsPage.test.tsx > TicketsPage > renders an error message that can be dismissed 97ms
 ✓ src/contexts/AuthContext.test.tsx > AuthContext > clears a stale session when the current user profile is not found 72ms
 ✓ src/contexts/LocaleContext.test.tsx > LocaleContext > defaults to english when nothing is stored 12ms
 ✓ src/contexts/LocaleContext.test.tsx > LocaleContext > hydrates locale from localStorage 17ms
 ✓ src/contexts/LocaleContext.test.tsx > LocaleContext > persists locale changes to localStorage and i18n state 6ms
 ✓ src/viewmodels/discover/useDiscoverViewModel.test.ts > useDiscoverViewModel persistence > localizes the short label for browser-based locations 13ms
 ✓ src/viewmodels/discover/useDiscoverViewModel.test.ts > useDiscoverViewModel persistence > restores selected location and active query context from the current session 32ms
 ✓ src/viewmodels/discover/useDiscoverViewModel.test.ts > useDiscoverViewModel persistence > refetches discover results with the selected minimum age filter 61ms
 ✓ src/viewmodels/admin/useAdminListViewModel.test.tsx > useAdminListViewModel > applies filters and advances offset pagination 113ms
 ✓ src/utils/notificationPresentation.test.ts > getNotificationPresentation > returns invitation copy and routes to invitations for PRIVATE_EVENT_INVITATION_RECEIVED 3ms
 ✓ src/utils/notificationPresentation.test.ts > getNotificationPresentation > returns approved copy and routes to event for PROTECTED_EVENT_JOIN_REQUEST_APPROVED 1ms
 ✓ src/utils/notificationPresentation.test.ts > getNotificationPresentation > formats cooldown metadata for PROTECTED_EVENT_JOIN_REQUEST_REJECTED 17ms
 ✓ src/utils/notificationPresentation.test.ts > getNotificationPresentation > returns accepted and declined invitation notifications as event updates 1ms
 ✓ src/utils/notificationPresentation.test.ts > getNotificationPresentation > falls back to generic title and body for unknown notification types 1ms
 ✓ src/utils/notificationPresentation.test.ts > getNotificationPresentation > returns NONE action target when notification has no event reference 0ms
 ✓ src/utils/notificationPresentation.test.ts > isDedicatedParticipationNotification > returns true for participation-related types 0ms
 ✓ src/utils/notificationPresentation.test.ts > isDedicatedParticipationNotification > returns false for unknown or null types 0ms
 ✓ src/services/profileService.test.ts > profileService.changePassword > posts the authenticated password endpoint with old and new password 4ms
 ✓ src/services/profileService.test.ts > profileService public profile > fetches the public profile endpoint without authentication 1ms
 ✓ src/services/profileService.test.ts > profileService equipment > creates an equipment item for the authenticated user 1ms
 ✓ src/services/profileService.test.ts > profileService equipment > updates an equipment item for the authenticated user 0ms
 ✓ src/services/profileService.test.ts > profileService showcase images > requests showcase upload instructions for the authenticated user 0ms
 ✓ src/services/profileService.test.ts > profileService showcase images > confirms a showcase image upload for the authenticated user 0ms
 ✓ src/services/profileService.test.ts > profileService badges > fetches the authenticated user badges endpoint 0ms
 ✓ src/services/profileService.test.ts > profileService badges > fetches another user badges endpoint 0ms
 ✓ src/services/profileService.test.ts > profileService badges > fetches the badge catalog endpoint 1ms
 ✓ src/viewmodels/auth/useRegisterViewModel.test.tsx > useRegisterViewModel > requires gender and birth date before requesting OTP 12ms
 ✓ src/viewmodels/auth/useRegisterViewModel.test.tsx > useRegisterViewModel > sends required gender and birth date when OTP verify succeeds 5ms
 ✓ src/services/eventService.test.ts > searchLocation > returns [] without calling fetch when query is shorter than 2 chars 5ms
 ✓ src/services/eventService.test.ts > searchLocation > returns [] for whitespace-only queries 0ms
 ✓ src/services/eventService.test.ts > searchLocation > hits the Photon endpoint with the expected query params 2ms
 ✓ src/services/eventService.test.ts > searchLocation > does NOT hit the legacy Nominatim endpoint 0ms
 ✓ src/services/eventService.test.ts > searchLocation > maps Photon GeoJSON business-flows to LocationSuggestion shape 1ms
 ✓ src/services/eventService.test.ts > searchLocation > joins street + housenumber and dedupes repeated locality parts 0ms
 ✓ src/services/eventService.test.ts > searchLocation > skips business-flows missing coordinates or display name 1ms
 ✓ src/services/eventService.test.ts > searchLocation > returns [] when Photon responds with a non-OK status 0ms
 ✓ src/services/eventService.test.ts > searchLocation > returns [] when fetch throws 0ms
 ✓ src/services/eventService.test.ts > searchLocation > returns [] when Photon body is malformed JSON 5ms
 ✓ src/services/eventService.test.ts > reverseGeocode > returns null for non-finite coordinates 0ms
 ✓ src/services/eventService.test.ts > reverseGeocode > hits the Photon reverse endpoint with lat/lon and lang=en 0ms
 ✓ src/services/eventService.test.ts > reverseGeocode > maps the first Photon feature to a LocationSuggestion 1ms
 ✓ src/services/eventService.test.ts > reverseGeocode > keeps standard reverse geocoded names unless area-level formatting is requested 1ms
 ✓ src/services/eventService.test.ts > reverseGeocode > prefers area-level names for map-selection reverse geocoding 3ms
 ✓ src/services/eventService.test.ts > reverseGeocode > falls back to original coordinates when the feature lacks geometry 0ms
 ✓ src/services/eventService.test.ts > reverseGeocode > keeps the original clicked coordinates when Photon returns a snapped feature 0ms
 ✓ src/services/eventService.test.ts > reverseGeocode > returns null when Photon returns no business-flows 0ms
 ✓ src/services/eventService.test.ts > reverseGeocode > returns null when fetch throws 0ms
 ✓ src/services/eventService.test.ts > reverseGeocode > returns null when Photon responds with a non-OK status 0ms
 ✓ src/services/eventService.test.ts > eventService.discoverEvents > passes selected audience filters to discovery requests 4ms
 ✓ src/services/eventService.test.ts > eventService.createEventReport > posts an authenticated event report request 1ms
 ✓ src/services/eventService.test.ts > eventService.updateEvent > patches event updates through the versioned update endpoint 0ms
 ✓ src/services/eventService.test.ts > eventService.listEventApprovedParticipants > passes participant status filters to the backend 0ms
 ✓ src/services/eventService.test.ts > eventService.reconfirmEventParticipation > posts to the reconfirm endpoint with bearer auth 0ms
 ✓ src/services/invitationService.test.ts > invitationService > fetches received invitations from the split pending/past endpoint 4ms
 ✓ src/services/invitationService.test.ts > invitationService > fetches one invitation detail by id 1ms
 ✓ src/viewmodels/auth/useLoginViewModel.test.tsx > useLoginViewModel > localizes invalid credential errors from the backend 14ms
 ✓ src/services/adminService.test.ts > buildAdminListPath > serializes filters and pagination while skipping empty values 6ms
 ✓ src/services/adminService.test.ts > admin mutation services > posts notification payloads with delivery mode 3ms
 ✓ src/services/adminService.test.ts > admin mutation services > posts participation create and cancel actions 1ms
 ✓ src/services/adminService.test.ts > admin event report services > fetches event reports with filters 2ms
 ✓ src/utils/notificationRouting.test.ts > resolveNotificationRoute > routes invitation-received notifications to /invitations regardless of event_id 5ms
 ✓ src/utils/notificationRouting.test.ts > resolveNotificationRoute > routes approved/rejected join request notifications to the event detail page 1ms
 ✓ src/utils/notificationRouting.test.ts > resolveNotificationRoute > falls back to event_id from data when top-level event_id is missing 0ms
 ✓ src/utils/notificationRouting.test.ts > resolveNotificationRoute > returns null when there is nothing to navigate to 0ms
 ✓ src/utils/notificationRouting.test.ts > resolveNotificationRoute > honors a deep_link pointing to /events/:id when no other route is determinable 0ms
 ✓ src/services/api.test.ts > apiGetAuth > returns data on a successful response 2ms
 ✓ src/services/api.test.ts > apiGetAuth > silently refreshes on 401 and retries with the new token 1ms
 ✓ src/services/api.test.ts > apiGetAuth > calls onRefreshSuccess with new tokens after a successful refresh 1ms
 ✓ src/services/api.test.ts > apiGetAuth > calls onRefreshFailure and throws when refresh request returns 401 1ms
 ✓ src/services/api.test.ts > apiGetAuth > throws without attempting refresh when no token manager is set 0ms
 ✓ src/services/api.test.ts > apiGetAuth > throws when retry after refresh also returns 401 1ms
 ✓ src/services/api.test.ts > apiGetAuth > deduplicates concurrent refresh calls 2ms
 ✓ src/services/api.test.ts > apiPostAuth > returns data on success 1ms
 ✓ src/services/api.test.ts > apiPostAuth > silently refreshes on 401 and retries 0ms
 ✓ src/services/api.test.ts > apiPostAuth > returns undefined for 204 responses 0ms
 ✓ src/services/api.test.ts > apiPatchAuth > returns updated data on success 0ms
 ✓ src/services/api.test.ts > apiPatchAuth > silently refreshes on 401 and retries 0ms
 ✓ src/utils/authErrorPresentation.test.ts > authErrorPresentation > translates auth error codes for banner messages 5ms
 ✓ src/utils/authErrorPresentation.test.ts > authErrorPresentation > translates backend validation details into field errors 1ms
 ✓ src/i18n/locales.test.ts > locale catalogs > en and tr have identical key sets 4ms
 ✓ src/i18n/locales.test.ts > locale catalogs > en has no empty string values 1ms
 ✓ src/i18n/locales.test.ts > locale catalogs > tr has no empty string values 0ms
 ✓ src/utils/validators.test.ts > validators > accepts a valid email 2ms
 ✓ src/utils/validators.test.ts > validators > rejects an invalid otp 3ms
 ✓ src/utils/validators.test.ts > validators > rejects usernames with unsupported characters 0ms
 ✓ src/utils/validators.test.ts > validators > allows blank phone numbers but rejects malformed input 1ms
 ✓ src/utils/validators.test.ts > validators > rejects future birth dates 0ms
 ✓ src/utils/eventStatus.test.ts > getEventLifecyclePresentation > maps ACTIVE to UPCOMING 6ms
 ✓ src/utils/eventStatus.test.ts > getEventLifecyclePresentation > maps IN_PROGRESS 0ms
 ✓ src/utils/eventStatus.test.ts > getEventLifecyclePresentation > returns null for other statuses 1ms
 ✓ src/utils/eventStatus.test.ts > getEventStatusPresentation > formats IN_PROGRESS into a user-facing label 0ms
 ✓ src/utils/eventStatus.test.ts > getEventStatusPresentation > formats unknown uppercase enum-like values into title case 0ms
 ✓ src/utils/imageResize.test.ts > prepareAvatarBlobs > returns original and small blobs 4ms
 ✓ src/utils/imageResize.test.ts > prepareAvatarBlobs > works with png files 2ms
 ✓ src/i18n/index.test.ts > isSupportedLocale > accepts en and tr 1ms
 ✓ src/i18n/index.test.ts > isSupportedLocale > rejects everything else 0ms
 ✓ src/i18n/index.test.ts > resolveLocale > maps tr-TR to tr 0ms
 ✓ src/i18n/index.test.ts > resolveLocale > maps en-US to en 0ms
 ✓ src/i18n/index.test.ts > resolveLocale > falls back to en for unsupported tags 0ms
 ✓ src/components/RatingWithCount.test.ts > formatRatingWithCountText > shows the score with a defensive rating count when available 1ms
 ✓ src/components/RatingWithCount.test.ts > formatRatingWithCountText > keeps the score visible when the backend has not rolled out count yet 0ms
 ✓ src/components/RatingWithCount.test.ts > formatRatingWithCountText > renders nothing for unrated items 0ms
 ✓ src/utils/locationApproximation.test.ts > shouldShowApproximateLocationIndicator > 'public non-participant with exact bac…' 1ms
 ✓ src/utils/locationApproximation.test.ts > shouldShowApproximateLocationIndicator > 'public non-participant with unexpecte…' 0ms
 ✓ src/utils/locationApproximation.test.ts > shouldShowApproximateLocationIndicator > 'protected non-participant with approx…' 0ms
 ✓ src/utils/locationApproximation.test.ts > shouldShowApproximateLocationIndicator > 'protected approved participant with e…' 0ms
 ✓ src/utils/locationApproximation.test.ts > shouldShowApproximateLocationIndicator > 'protected host with exact backend loc…' 0ms
 ✓ src/utils/locationApproximation.test.ts > shouldShowApproximateLocationIndicator > 'private invited viewer with exact bac…' 0ms

 Test Files  37 passed (37)
      Tests  189 passed (189)
   Start at  14:25:23
   Duration  7.84s (transform 1.84s, setup 4.51s, collect 5.21s, tests 5.83s, environment 27.20s, prepare 3.61s)
👥 Team Members

Labs

Meetings

Milestones

Requirements & Analysis

Scenarios

Use Case Diagrams

Class Diagrams

Sequence Diagrams

Planning

Testing

MVP Demo Plan

Clone this wiki locally