-
Notifications
You must be signed in to change notification settings - Fork 1
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
- Lab 1 Report (12.02.2026)
- Lab 2 Report (19.02.2026)
- Lab 3 Report (26.02.2026)
- Lab 4 Report (05.03.2026)
- Lab 5 Report (12.03.2026)
- Lab 6 Report (26.03.2026)
- Lab 7 Report (02.04.2026)
- Lab 8 Report (16.04.2026)
- Lab 9 Report (30.04.2026)
- Lab 10 Report (07.05.2026)
- Customer Meeting (17.02.2026)
- Weekly Meeting 1 (17.02.2026)
- Weekly Meeting 2 (25.02.2026)
- Weekly Meeting 3 (04.03.2026)
- Stakeholder Meeting (10.03.2026)
- Weekly Meeting 4 (11.03.2026)
- Database Design Meeting (18.03.2026)
- Weekly Meeting 6 (25.03.2026)
- Weekly Meeting 7 (01.04.2026)
- Weekly Meeting 8 (15.04.2026)
- Weekly Meeting 9 (06.05.2026)
- Scenario 1 - Discovering and Joining an Event
- Scenario 2 - Private Event Organization
- Scenario 3 - Public Event Organization
- Use Case Diagram (Final)
- Scenario 1 Use Case Diagram
- Scenario 2 Use Case Diagram
- Scenario 3 Use Case Diagram
- All Sequence Diagrams
- Sequence Diagram - Oğuz Özer
- Sequence Diagram - Emine Türk
- Sequence Diagram - Cansu Er
- Sequence Diagram - Sevde Pekköse
- Sequence Diagram - Buğra Keser
- Sequence Diagram - Mehmet Kaan Ünsel
- Sequence Diagram - Utku Yiğit Demir
- Sequence Diagram - Mehmet Akif Yıldırım