Skip to content

chore(api): Bump Npgsql.EntityFrameworkCore.PostgreSQL from 10.0.0-rc.2 to 10.0.0#108

Merged
aguacongas merged 1 commit into
mainfrom
dependabot/nuget/src/IrcChat.Api/Npgsql.EntityFrameworkCore.PostgreSQL-10.0.0
Nov 24, 2025
Merged

chore(api): Bump Npgsql.EntityFrameworkCore.PostgreSQL from 10.0.0-rc.2 to 10.0.0#108
aguacongas merged 1 commit into
mainfrom
dependabot/nuget/src/IrcChat.Api/Npgsql.EntityFrameworkCore.PostgreSQL-10.0.0

chore(api): Bump Npgsql.EntityFrameworkCore.PostgreSQL from 10.0.0-rc…

0df3b20
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Unit Tests succeeded Nov 24, 2025 in 1s

503 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
./TestResults/api-tests.trx 135✅ 19s
./TestResults/client-tests.trx 368✅ 21s

✅ ./TestResults/api-tests.trx

135 tests were completed in 19s with 135 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
IrcChat.Api.Tests.Authorization.ChannelModificationHandlerTests 9✅ 2s
IrcChat.Api.Tests.Hubs.ChatHubTests 27✅ 497ms
IrcChat.Api.Tests.Integration.AdminManagementEndpointsTests 8✅ 3s
IrcChat.Api.Tests.Integration.ChannelDeleteEndpointsTests 7✅ 2s
IrcChat.Api.Tests.Integration.ChannelEndpointsTests 8✅ 331ms
IrcChat.Api.Tests.Integration.ChannelMuteEndpointsTests 7✅ 2s
IrcChat.Api.Tests.Integration.HealthEndpointTest 1✅ 139ms
IrcChat.Api.Tests.Integration.MessageEndpointsTests 1✅ 151ms
IrcChat.Api.Tests.Integration.MutedUsersEndpointsTests 12✅ 1s
IrcChat.Api.Tests.Integration.OAuthEndpointsTests 27✅ 386ms
IrcChat.Api.Tests.Integration.PrivateMessageEndpointsTests 13✅ 390ms
IrcChat.Api.Tests.Services.AutoMuteServiceTests 7✅ 14s
IrcChat.Api.Tests.Services.ConnectionManagerServiceTests 1✅ 3s
IrcChat.Api.Tests.Services.ExtensionsTests 3✅ 104ms
IrcChat.Api.Tests.Services.OAuthServiceTests 4✅ 44ms

✅ IrcChat.Api.Tests.Authorization.ChannelModificationHandlerTests

✅ Handler_ShouldLogInformationWhenAuthorized
✅ Handler_ShouldLogWarningWhenNoUsername
✅ Handler_WithAdmin_ShouldSucceed
✅ Handler_WithCaseInsensitiveChannelName_ShouldWork
✅ Handler_WithCaseInsensitiveUsername_ShouldWork
✅ Handler_WithCreator_ShouldSucceed
✅ Handler_WithNonExistentChannel_ShouldSucceed
✅ Handler_WithNoUsername_ShouldFail
✅ Handler_WithRegularUser_ShouldFail

✅ IrcChat.Api.Tests.Hubs.ChatHubTests

✅ ConnectedUser_WithoutChannel_ShouldStillReserveUsername
✅ JoinChannel_SameChannel_ShouldNotNotifyLeave
✅ JoinChannel_SwitchingChannels_ShouldNotifyBothChannels
✅ JoinChannel_WithNewUser_ShouldNotCreateUser
✅ JoinChannel_WithNonExistentChannel_ShouldNotifyChannelNotFound
✅ LeaveChannel_ShouldSetChannelToNull
✅ LeaveChannel_WithWrongChannel_ShouldNotModify
✅ MarkPrivateMessagesAsRead_ShouldMarkMessagesAndNotifySender
✅ OnConnectedAsync_WithoutUsername_ShouldNotNotifyUserStatus
✅ OnDisconnectedAsync_ShouldRemoveUser
✅ OnDisconnectedAsync_WithChannel_ShouldNotifyChannel
✅ OnDisconnectedAsync_WithLastConnection_ShouldNotifyUserIsOffline
✅ OnDisconnectedAsync_WithMultipleConnections_ShouldNotNotifyOffline
✅ OnDisconnectedAsync_WithoutChannel_ShouldNotNotify
✅ OnDisconnectedAsync_WithoutChannel_ShouldStillNotifyOffline
✅ Ping_WithExistingUser_ShouldUpdateLastPing
✅ Ping_WithNewUser_ShouldCreateUser
✅ SendMessage_AdminInMutedChannel_CanStillSendEvenIfMuted
✅ SendMessage_MutedUserThenUnmuted_ShouldAllowBroadcast
✅ SendMessage_ShouldSaveAndBroadcastMessage
✅ SendMessage_ToMutedChannel_CreatorCanSend
✅ SendMessage_ToMutedChannel_ShouldBlockNonCreatorNonAdmin
✅ SendMessage_WithConnectedUser_ShouldUpdateLastActivity
✅ SendMessage_WithMutedUser_ShouldSaveButNotBroadcastOnlyToCaller
✅ SendMessage_WithNonMutedUserInNormalChannel_ShouldBroadcast
✅ SendPrivateMessage_ShouldSaveAndSendToRecipient
✅ SendPrivateMessage_WithOfflineRecipient_ShouldOnlyNotifySender

✅ IrcChat.Api.Tests.Integration.AdminManagementEndpointsTests

✅ CheckAdminStatus_AsAdmin_ShouldReturnTrue
✅ CheckAdminStatus_AsNonAdmin_ShouldReturnFalse
✅ DemoteUser_AsAdmin_ShouldDemoteUser
✅ DemoteUser_Self_ShouldReturnBadRequest
✅ GetAllUsers_AsAdmin_ShouldReturnUserList
✅ GetAllUsers_AsNonAdmin_ShouldReturnForbidden
✅ PromoteUser_AlreadyAdmin_ShouldReturnBadRequest
✅ PromoteUser_AsAdmin_ShouldPromoteUser

✅ IrcChat.Api.Tests.Integration.ChannelDeleteEndpointsTests

✅ DeleteChannel_AsAdmin_ShouldDeleteChannel
✅ DeleteChannel_AsCreator_ShouldDeleteChannel
✅ DeleteChannel_AsRegularUser_ShouldReturnForbidden
✅ DeleteChannel_NonExistent_ShouldReturnNotFound
✅ DeleteChannel_ShouldRemoveConnectedUsers
✅ DeleteChannel_ShouldSoftDeleteMessages
✅ DeleteChannel_WithoutAuth_ShouldReturnUnauthorized

✅ IrcChat.Api.Tests.Integration.ChannelEndpointsTests

✅ CreateChannel_DuplicateName_ShouldReturnBadRequest
✅ CreateChannel_ShouldTrimChannelName
✅ CreateChannel_WithAuthentication_ShouldCreateChannel
✅ CreateChannel_WithEmptyUsername_ShouldReturnBadRequest
✅ CreateChannel_WithoutAuthentication_ShouldReturnForbidden
✅ GetChannels_ShouldReturnChannelList
✅ GetConnectedUsers_EmptyChannel_ShouldReturnEmptyList
✅ GetConnectedUsers_ShouldReturnUsersInChannel

✅ IrcChat.Api.Tests.Integration.ChannelMuteEndpointsTests

✅ ToggleMute_AsAdmin_ShouldUnmuteAndBecomeActiveManager
✅ ToggleMute_AsChannelCreator_ShouldToggleMuteAndBecomeActiveManager
✅ ToggleMute_AsRegularUser_ShouldReturnForbidden
✅ ToggleMute_ChannelNotFound_ShouldReturnNotFound
✅ ToggleMute_CreatorTakesBackControl_ShouldBecomeActiveManagerAgain
✅ ToggleMute_MuteDoesNotChangeActiveManager
✅ ToggleMute_WithoutAuth_ShouldReturnUnauthorized

✅ IrcChat.Api.Tests.Integration.HealthEndpointTest

✅ HealthEndpoint_ShouldReturnHealthyStatus

✅ IrcChat.Api.Tests.Integration.MessageEndpointsTests

✅ GetMessages_ShouldReturnMessagesForChannel

✅ IrcChat.Api.Tests.Integration.MutedUsersEndpointsTests

✅ GetMutedUsers_WithMutedUsers_ShouldReturnList
✅ GetMutedUsers_WithNoMutedUsers_ShouldReturnEmptyList
✅ IsUserMuted_WithMutedUser_ShouldReturnTrue
✅ IsUserMuted_WithNonMutedUser_ShouldReturnFalse
✅ MuteUser_AlreadyMuted_ShouldReturnBadRequest
✅ MuteUser_AsAdmin_CanMuteChannelCreator
✅ MuteUser_AsChannelCreator_ShouldMuteUser
✅ MuteUser_CannotMuteSelf_ShouldReturnBadRequest
✅ MuteUser_WithoutAuthentication_ShouldReturnUnauthorized
✅ UnmuteUser_AsChannelCreator_ShouldUnmuteUser
✅ UnmuteUser_CannotUnmuteSelf_ShouldReturnBadRequest
✅ UnmuteUser_UserNotMuted_ShouldReturnNotFound

✅ IrcChat.Api.Tests.Integration.OAuthEndpointsTests

✅ CheckUsername_CaseInsensitive_ShouldWork
✅ CheckUsername_WithAvailableUsername_ShouldReturnAvailable
✅ CheckUsername_WithConnectedUser_ShouldReturnNotAvailable
✅ CheckUsername_WithOnlyCurrentlyUsed_ShouldReturnCorrectStatus
✅ CheckUsername_WithReservedAndCurrentlyUsed_ShouldReturnBothFlags
✅ CheckUsername_WithReservedButNotCurrentlyUsed_ShouldReturnCorrectStatus
✅ CheckUsername_WithReservedUsername_ShouldReturnNotAvailable
✅ ForgetUsername_NonExistentUser_ShouldReturnNotFound
✅ ForgetUsername_WithAuth_ShouldDeleteReservedUser
✅ ForgetUsername_WithAuthentication_ShouldDeleteReservation
✅ ForgetUsername_WithNonExistentUser_ShouldReturnNotFound
✅ ForgetUsername_WithoutAuthentication_ShouldReturnUnauthorized
✅ GetProviderConfig_ForFacebook_ShouldReturnConfig
✅ GetProviderConfig_ForGoogle_ShouldReturnConfig
✅ GetProviderConfig_ForMicrosoft_ShouldReturnConfig
✅ GetProviderConfig_WithValidProvider_ShouldReturnConfig
✅ LoginReserved_ShouldUpdateAvatarUrl
✅ LoginReserved_WithInvalidCode_ShouldReturnUnauthorized
✅ LoginReserved_WithNonExistentUser_ShouldReturnNotFound
✅ LoginReserved_WithValidCredentials_ShouldReturnTokenAndUpdateLastLogin
✅ ReserveUsername_FirstUser_ShouldBeAdmin
✅ ReserveUsername_SecondUser_ShouldNotBeAdmin
✅ ReserveUsername_ShouldTrimUsername
✅ ReserveUsername_WithExistingExternalUserId_ShouldReturnAlreadyReserved
✅ ReserveUsername_WithExistingReservation_ShouldReturnBadRequest
✅ ReserveUsername_WithInvalidCode_ShouldReturnUnauthorized
✅ ReserveUsername_WithValidData_ShouldCreateReservationAndReturnToken

✅ IrcChat.Api.Tests.Integration.PrivateMessageEndpointsTests

✅ DeleteConversation_BothUsersCanDeleteIndependently
✅ DeleteConversation_OnlyDeletesForRequestingUser
✅ DeleteConversation_ShouldMarkMessagesAsDeletedForUserOnly
✅ DeleteConversation_WithNoMessages_ShouldReturnNotFound
✅ GetConversations_WithMessages_ShouldReturnConversationsWithOnlineStatus
✅ GetConversations_WithMultipleUsers_ShouldReturnCorrectOnlineStatuses
✅ GetConversations_WithNoMessages_ShouldReturnEmptyList
✅ GetConversations_WithOfflineUser_ShouldReturnOfflineStatus
✅ GetPrivateMessages_ShouldReturnMessagesInCorrectOrder
✅ GetUnreadCount_ShouldExcludeDeletedMessages
✅ GetUnreadCount_ShouldReturnCorrectCount
✅ GetUserStatus_WithOfflineUser_ShouldReturnFalse
✅ GetUserStatus_WithOnlineUser_ShouldReturnTrue

✅ IrcChat.Api.Tests.Services.AutoMuteServiceTests

✅ AutoMuteService_CreatorActiveButNotManager_ShouldMute
✅ AutoMuteService_ShouldHandleMultipleChannelsWithDifferentManagers
✅ AutoMuteService_ShouldMuteChannelWhenActiveManagerInactive
✅ AutoMuteService_ShouldMuteWhenActiveManagerDisconnected
✅ AutoMuteService_ShouldNotMuteAlreadyMutedChannels
✅ AutoMuteService_ShouldNotMuteWhenActiveManagerActive
✅ AutoMuteService_ShouldUseCreatorWhenActiveManagerIsNull

✅ IrcChat.Api.Tests.Services.ConnectionManagerServiceTests

✅ CleanupStaleConnections_ShouldRemoveExpiredConnections

✅ IrcChat.Api.Tests.Services.ExtensionsTests

✅ GetInstanceId_WithConfiguredInstanceId_ShouldReturnConfiguredValue
✅ GetInstanceId_WithEmptyInstanceId_ShouldReturnHostnameOrMachineName
✅ GetInstanceId_WithoutInstanceId_ShouldReturnHostnameOrMachineName

✅ IrcChat.Api.Tests.Services.OAuthServiceTests

✅ ExchangeCodeForTokenAsync_WithErrorResponse_ShouldReturnNull
✅ ExchangeCodeForTokenAsync_WithValidResponse_ShouldReturnToken
✅ GetProviderConfig_ForGoogle_ShouldReturnGoogleConfig
✅ GetProviderConfig_ForMicrosoft_ShouldReturnMicrosoftConfig

✅ ./TestResults/client-tests.trx

368 tests were completed in 21s with 368 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
IrcChat.Client.Tests.Components.AdminPanelTests 12✅ 991ms
IrcChat.Client.Tests.Components.ChannelDeleteButtonTests 10✅ 658ms
IrcChat.Client.Tests.Components.ChannelMuteButtonTests 10✅ 5s
IrcChat.Client.Tests.Components.ChannelUsersListTests 9✅ 2s
IrcChat.Client.Tests.Components.ChatAreaTests 21✅ 279ms
IrcChat.Client.Tests.Components.IgnoreUserButtonTests 6✅ 597ms
IrcChat.Client.Tests.Components.MessageInputTests 3✅ 7ms
IrcChat.Client.Tests.Components.MessageListTests 13✅ 1s
IrcChat.Client.Tests.Components.PrivateConversationsTests 11✅ 40ms
IrcChat.Client.Tests.Components.SidebarTests 13✅ 580ms
IrcChat.Client.Tests.Components.SidebarToggleButtonTests 18✅ 44ms
IrcChat.Client.Tests.Components.UsersListToggleButtonTests 12✅ 27ms
IrcChat.Client.Tests.Pages.ChatTests 41✅ 15s
IrcChat.Client.Tests.Pages.LoginTests 16✅ 7s
IrcChat.Client.Tests.Pages.OAuthConnectTests 13✅ 4s
IrcChat.Client.Tests.Pages.ReserveUsernameTests 16✅ 291ms
IrcChat.Client.Tests.Pages.SettingsTests 22✅ 3s
IrcChat.Client.Tests.Services.ChatServiceTests 39✅ 466ms
IrcChat.Client.Tests.Services.DeviceDetectorServiceTests 15✅ 35ms
IrcChat.Client.Tests.Services.IgnoredUsersServiceTests 9✅ 47ms
IrcChat.Client.Tests.Services.OAuthClientServiceTests 8✅ 194ms
IrcChat.Client.Tests.Services.PrivateMessageServiceTests 17✅ 109ms
IrcChat.Client.Tests.Services.UnifiedAuthServiceCompleteTests 34✅ 181ms

✅ IrcChat.Client.Tests.Components.AdminPanelTests

✅ AdminPanel_CloseButton_ShouldTriggerEvent
✅ AdminPanel_CurrentUser_ShouldNotShowActions
✅ AdminPanel_DemoteUser_ShouldCallApiAndReloadUsers
✅ AdminPanel_LoadUsers_OnError_ShouldShowError
✅ AdminPanel_OnInitialization_ShouldLoadUsers
✅ AdminPanel_OverlayClick_ShouldClose
✅ AdminPanel_PromoteUser_OnError_ShouldShowError
✅ AdminPanel_PromoteUser_ShouldCallApiAndReloadUsers
✅ AdminPanel_ShouldDisplayProviderBadge
✅ AdminPanel_ShouldShowLoadingState
✅ AdminPanel_WhileProcessing_ShouldDisableButtons
✅ AdminPanel_WithAvatar_ShouldDisplayImage

✅ IrcChat.Client.Tests.Components.ChannelDeleteButtonTests

✅ ChannelDeleteButton_ModalWarning_ShouldBeVisible
✅ ChannelDeleteButton_OnCancel_ShouldHideConfirmation
✅ ChannelDeleteButton_OnClick_ShouldShowConfirmation
✅ ChannelDeleteButton_OnConfirm_ShouldCallApi
✅ ChannelDeleteButton_OnError_ShouldShowErrorMessage
✅ ChannelDeleteButton_OnModalBackdropClick_ShouldClose
✅ ChannelDeleteButton_WhenCanManage_ShouldShowButton
✅ ChannelDeleteButton_WhenCannotManage_ShouldNotShowButton
✅ ChannelDeleteButton_WhileProcessing_ShouldDisableButton
✅ ChannelDeleteButton_WithEmptyChannelName_ShouldNotCallApi

✅ IrcChat.Client.Tests.Components.ChannelMuteButtonTests

✅ ChannelMuteButton_WhenCanManage_ShouldShowButton
✅ ChannelMuteButton_WhenCannotManage_ShouldNotShowButton
✅ ChannelMuteButton_WhenCannotManageButMuted_ShouldShowIndicator
✅ ChannelMuteButton_WhenMuted_ShouldShowUnmuteButton
✅ ToggleMute_ErrorMessageShouldDisappear
✅ ToggleMute_OnError_ShouldShowErrorMessage
✅ ToggleMute_ShouldCallApiAndUpdateStatus
✅ ToggleMute_ShouldNotTriggerWhenAlreadyProcessing
✅ ToggleMute_WhileProcessing_ShouldDisableButton
✅ ToggleMute_WithEmptyChannelName_ShouldNotCallApi

✅ IrcChat.Client.Tests.Components.ChannelUsersListTests

✅ Component_WhenCanModifyChannel_ShouldShowMuteButtonsForOtherUsers
✅ Component_WhenCannotModifyChannel_ShouldNotShowMuteButtons
✅ Component_WhenCurrentUser_ShouldNotShowMuteButton
✅ Component_WhenNoUsers_ShouldShowEmptyState
✅ Component_WhenRendered_ShouldDisplayUsersList
✅ Component_WhenUserIsIgnored_ShouldShowIgnoreIndicator
✅ MuteButton_WhenClicked_ShouldCallMuteEndpoint
✅ MuteButton_WhenError_ShouldDisplayErrorMessage
✅ UnmuteButton_WhenClicked_ShouldCallUnmuteEndpoint

✅ IrcChat.Client.Tests.Components.ChatAreaTests

✅ ChatArea_ChannelDeleteButton_WhenClicked_ShouldInvokeCallback
✅ ChatArea_HeaderRight_ShouldContainAllButtons
✅ ChatArea_MessageInput_WhenMessageSent_ShouldInvokeCallback
✅ ChatArea_ShouldRenderChannelDeleteButton
✅ ChatArea_ShouldRenderChannelMuteButton
✅ ChatArea_ShouldRenderChannelUsersList
✅ ChatArea_ShouldRenderMessageInput
✅ ChatArea_ShouldRenderMessageList
✅ ChatArea_ShouldRenderUsersListToggleButton
✅ ChatArea_UsersListToggleButton_WhenClicked_ShouldInvokeCallback
✅ ChatArea_WhenCannotManage_ShouldNotShowManagementButtons
✅ ChatArea_WhenConnected_ShouldShowConnectedStatus
✅ ChatArea_WhenDisconnected_ShouldShowDisconnectedStatus
✅ ChatArea_WhenNoChannel_ShouldNotRenderHeaderOrContent
✅ ChatArea_WhenNoChannel_ShouldShowWelcomeMessage
✅ ChatArea_WithChannel_ShouldShowChatHeader
✅ ChatArea_WithEmptyMessages_ShouldStillRenderMessageList
✅ ChatArea_WithEmptyUsers_ShouldShowZeroCount
✅ ChatArea_WithMutedChannel_ShouldPassMutedState
✅ ChatArea_WithUsersListClosed_ShouldShowHiddenClass
✅ ChatArea_WithUsersListOpen_ShouldShowVisibleClass

✅ IrcChat.Client.Tests.Components.IgnoreUserButtonTests

✅ Component_OnIgnoredUsersChanged_ShouldUpdateDisplay
✅ Component_ShouldCallInitializeAsync
✅ Component_ShouldHaveProperAccessibility
✅ Component_WhenClicked_ShouldToggleIgnoreStatus
✅ Component_WhenRendered_ShouldDisplayButton
✅ Component_WhenUserIgnored_ShouldShowIgnoredState

✅ IrcChat.Client.Tests.Components.MessageInputTests

✅ MessageInput_OnSendClick_ShouldTriggerEvent
✅ MessageInput_WhenConnected_ShouldEnableInput
✅ MessageInput_WhenDisconnected_ShouldDisableInput

✅ IrcChat.Client.Tests.Components.MessageListTests

✅ MessageList_MultipleNewMessages_ShouldScrollOnce
✅ MessageList_OnInitialRender_ShouldLoadScrollModule
✅ MessageList_ShouldMarkOwnMessages
✅ MessageList_WhenDisposed_ShouldDisposeModule
✅ MessageList_WhenDisposeThrows_ShouldHandleGracefully
✅ MessageList_WhenMessageCountSame_ShouldNotScroll
✅ MessageList_WhenModuleLoadFails_ShouldHandleGracefully
✅ MessageList_WhenModuleLoadThrows_ShouldLogWarning
✅ MessageList_WhenNewMessageAdded_ShouldScrollToBottom
✅ MessageList_WhenScrollFails_ShouldHandleGracefully
✅ MessageList_WithEmptyMessages_ShouldNotScrollInitially
✅ MessageList_WithEmptyMessages_ShouldRenderEmpty
✅ MessageList_WithMessages_ShouldRenderMessages

✅ IrcChat.Client.Tests.Components.PrivateConversationsTests

✅ Component_WhenClickingConversation_ShouldInvokeCallback
✅ Component_WhenClickingDeleteButton_ShouldInvokeDeleteCallback
✅ Component_WhenNoConversations_ShouldShowEmptyState
✅ Component_WithConversations_ShouldDisplayThem
✅ Component_WithLongMessage_ShouldTruncate
✅ Component_WithMultipleUnreadConversations_ShouldShowTotalUnreadCount
✅ Component_WithOfflineUser_ShouldShowOfflineIndicator
✅ Component_WithOnlineUser_ShouldShowOnlineIndicator
✅ Component_WithRecentMessage_ShouldShowRelativeTime
✅ Component_WithSelectedUser_ShouldHighlightConversation
✅ Component_WithUnreadMessages_ShouldShowUnreadCount

✅ IrcChat.Client.Tests.Components.SidebarTests

✅ Sidebar_CurrentChannel_ShouldBeHighlighted
✅ Sidebar_ShouldDisplayChannelsList
✅ Sidebar_ShouldDisplayPrivateConversations
✅ Sidebar_ShouldDisplayUsername
✅ Sidebar_UserInfoClick_ShouldInvokeCallback
✅ Sidebar_WhenAdmin_ShouldDisplayAdminBadge
✅ Sidebar_WhenClosed_ShouldHaveClosedClass
✅ Sidebar_WhenGuestUser_ShouldDisplayGuestBadge
✅ Sidebar_WhenOAuthUser_ShouldDisplayVerifiedBadge
✅ Sidebar_WhenOpen_ShouldHaveOpenClass
✅ Sidebar_WithAvatar_ShouldDisplayAvatar
✅ Sidebar_WithoutAvatar_ShouldDisplayPlaceholder
✅ Sidebar_WithUnreadMessages_ShouldDisplayBadge

✅ IrcChat.Client.Tests.Components.SidebarToggleButtonTests

✅ SidebarToggleButton_ShouldHaveHamburgerIcon
✅ SidebarToggleButton_ShouldHaveMenuTitle
✅ SidebarToggleButton_VariousUnreadCounts_ShouldDisplayCorrectly(count: 1, expected: "1")
✅ SidebarToggleButton_VariousUnreadCounts_ShouldDisplayCorrectly(count: 10, expected: "10")
✅ SidebarToggleButton_VariousUnreadCounts_ShouldDisplayCorrectly(count: 100, expected: "99+")
✅ SidebarToggleButton_VariousUnreadCounts_ShouldDisplayCorrectly(count: 200, expected: "99+")
✅ SidebarToggleButton_VariousUnreadCounts_ShouldDisplayCorrectly(count: 50, expected: "50")
✅ SidebarToggleButton_VariousUnreadCounts_ShouldDisplayCorrectly(count: 99, expected: "99")
✅ SidebarToggleButton_VariousUnreadCounts_ShouldDisplayCorrectly(count: 999, expected: "99+")
✅ SidebarToggleButton_WhenClicked_ShouldInvokeCallback
✅ SidebarToggleButton_WhenClickedWhileOpen_ShouldToggleToFalse
✅ SidebarToggleButton_WhenIsOpenFalse_ShouldNotHaveOpenClass
✅ SidebarToggleButton_WhenIsOpenTrue_ShouldHaveOpenClass
✅ SidebarToggleButton_WhenUnreadCount100_ShouldShow99Plus
✅ SidebarToggleButton_WhenUnreadCountExactly99_ShouldShow99
✅ SidebarToggleButton_WhenUnreadCountOver99_ShouldShow99Plus
✅ SidebarToggleButton_WhenUnreadCountPositive_ShouldShowBadge
✅ SidebarToggleButton_WhenUnreadCountZero_ShouldNotShowBadge

✅ IrcChat.Client.Tests.Components.UsersListToggleButtonTests

✅ UsersListToggleButton_OnToggle_ShouldPassOppositeState
✅ UsersListToggleButton_ShouldContainUsersIcon
✅ UsersListToggleButton_WhenClicked_ShouldInvokeCallback
✅ UsersListToggleButton_WhenClickedMultipleTimes_ShouldToggleState
✅ UsersListToggleButton_WhenClosed_ShouldNotHaveOpenClass
✅ UsersListToggleButton_WhenClosed_ShouldShowClosedTitle
✅ UsersListToggleButton_WhenOpen_ShouldHaveOpenClass
✅ UsersListToggleButton_WhenOpen_ShouldShowOpenTitle
✅ UsersListToggleButton_WhenRendered_ShouldShowUserCount
✅ UsersListToggleButton_WithDifferentStates_ShouldRenderDifferently
✅ UsersListToggleButton_WithLargeUserCount_ShouldDisplayCorrectly
✅ UsersListToggleButton_WithZeroUsers_ShouldShowZero

✅ IrcChat.Client.Tests.Pages.ChatTests

✅ Chat_CanManageCurrentChannel_AdminUser_ShouldReturnTrue
✅ Chat_CanManageCurrentChannel_ChannelCreator_ShouldReturnTrue
✅ Chat_CanManageCurrentChannel_WhenNoChannel_ShouldReturnFalse
✅ Chat_ConversationDeleted_ShouldClosePrivateChatIfOpen
✅ Chat_DisposeAsync_ShouldUnsubscribeAllEvents
✅ Chat_DisposeAsync_ShouldUnsubscribeFromIgnoredUsersChangedEvent
✅ Chat_DisposeAsync_ShouldUnsubscribeFromUserMutedAndUnmutedEvents
✅ Chat_GoToSettings_ShouldNavigateToSettingsPage
✅ Chat_HandleSidebarToggle_WhenCalledWithFalse_ShouldCloseSidebar
✅ Chat_InitializeSignalR_ShouldSubscribeToUserMutedAndUnmutedEvents
✅ Chat_JoinChannel_ShouldLoadMessagesAndUsers
✅ Chat_LeaveChannel_WhenSwitchingChannels_ShouldCallLeaveChannel
✅ Chat_LoadChannels_WhenApiCallFails_ShouldHandleGracefully
✅ Chat_LoadMessages_ShouldFilterIgnoredUsers
✅ Chat_LoadMessages_WhenApiCallFails_ShouldHandleGracefully
✅ Chat_LoadPrivateConversations_ShouldFilterIgnoredUsers
✅ Chat_MessageBlocked_ShouldShowNotification
✅ Chat_MuteStatusChange_ShouldUpdateChannel
✅ Chat_OnIgnoredUsersChanged_ShouldReloadPrivateChat
✅ Chat_OnInitialization_ShouldInitializeIgnoredUsersService
✅ Chat_OnInitialization_ShouldLoadChannels
✅ Chat_OnInitialization_ShouldSubscribeToIgnoredUsersChangedEvent
✅ Chat_OnMessageReceived_WhenUserIsIgnored_ShouldNotAddMessage
✅ Chat_OnMessageReceived_WhenUserIsNotIgnored_ShouldAddMessage
✅ Chat_OnPrivateMessageReceived_WhenSenderIsIgnored_ShouldNotAddMessage
✅ Chat_OnUserMuted_ShouldLogWithCorrectParameters
✅ Chat_OnUserMuted_ShouldReloadUsersInCurrentChannel
✅ Chat_OnUserMuted_WhenDifferentChannel_ShouldNotReload
✅ Chat_OnUserMuted_WhenPrivateConversation_ShouldNotReload
✅ Chat_OnUserUnmuted_ShouldLogWithCorrectParameters
✅ Chat_OnUserUnmuted_ShouldReloadUsersInCurrentChannel
✅ Chat_OnUserUnmuted_WhenDifferentChannel_ShouldNotReload
✅ Chat_OnUserUnmuted_WhenPrivateConversation_ShouldNotReload
✅ Chat_PrivateMessage_ShouldOpenPrivateChat
✅ Chat_PrivateMessageReceived_ShouldUpdateConversations
✅ Chat_ReceiveMessage_ShouldUpdateMessageList
✅ Chat_SendMessage_ShouldCallChatService
✅ Chat_SendMessage_WithValidContent_ShouldCallChatServiceWithCorrectParameters
✅ Chat_UserJoined_ShouldUpdateState
✅ Chat_UserLeft_ShouldUpdateState
✅ Chat_WhenNoUsername_ShouldRedirectToLogin

✅ IrcChat.Client.Tests.Pages.LoginTests

✅ Login_CheckUsername_ShouldDebounceRequests
✅ Login_CheckUsername_WithError_ShouldDisplayErrorMessage
✅ Login_CurrentlyUsedUsername_ShouldShowWarning
✅ Login_EnterAsGuest_ShouldSetUsernameAndNavigate
✅ Login_EnterAsGuest_WithShortUsername_ShouldShowError
✅ Login_EnterKey_ShouldSubmitWhenAvailable
✅ Login_Loading_ShouldShowSpinner
✅ Login_LoginWithProvider_ShouldSetSessionStorage
✅ Login_NavigateToReserve_ShouldIncludeUsernameInQueryString
✅ Login_ReservedUsername_ShouldShowLoginButton
✅ Login_ShortUsername_ShouldNotCheckAvailability
✅ Login_UseAnotherUsername_ShouldClearState
✅ Login_UsernameCheckRequest_ShouldShowStatus
✅ Login_WhenAlreadyAuthenticated_ShouldRedirectToChat
✅ Login_WithReservedUserNotAuthenticated_ShouldDisableInput
✅ Login_WithSavedUsername_ShouldPrefillInput

✅ IrcChat.Client.Tests.Pages.OAuthConnectTests

✅ OAuthConnect_HandleCallback_Login_ShouldComplete
✅ OAuthConnect_HandleCallback_Reserve_ShouldCompleteReservation
✅ OAuthConnect_HandleCallback_Reserve_ShouldPassUserIdToEndpoint
✅ OAuthConnect_HandleCallback_Reserve_WithInvalidUserId_ShouldShowError
✅ OAuthConnect_HandleCallback_Reserve_WithMissingUserId_ShouldShowError
✅ OAuthConnect_InitiateFlow_ShouldGenerateAuthUrl
✅ OAuthConnect_LoginFailure_ShouldShowError
✅ OAuthConnect_MissingSessionData_ShouldShowError
✅ OAuthConnect_ReserveFailure_ShouldShowError
✅ OAuthConnect_SessionStorageCleaned_AfterSuccessfulReserve
✅ OAuthConnect_ShowsLoadingMessage
✅ OAuthConnect_WithError_ShouldShowError
✅ OAuthConnect_WithoutParams_ShouldRedirectToLogin

✅ IrcChat.Client.Tests.Pages.ReserveUsernameTests

✅ ReserveUsername_BackLink_ShouldNavigateToLogin
✅ ReserveUsername_ClickFacebookProvider_ShouldSaveAndNavigate
✅ ReserveUsername_ClickGoogleProvider_ShouldSaveAndNavigate
✅ ReserveUsername_ClickMicrosoftProvider_ShouldSaveAndNavigate
✅ ReserveUsername_FailedToRetrieveUserId_ShouldShowError
✅ ReserveUsername_GetClientUserIdAsync_ShouldBeCalled
✅ ReserveUsername_InvalidUserIdFormat_ShouldShowError
✅ ReserveUsername_LoadingState_ShouldNotShowProviders
✅ ReserveUsername_ProviderButtons_ShouldBeSaveToSessionStorage
✅ ReserveUsername_ReserveWithProvider_ShouldNotAllowWithoutUserId
✅ ReserveUsername_SessionStorage_ShouldStoreUsernameAndId
✅ ReserveUsername_ShouldShowDivider
✅ ReserveUsername_ShouldShowOAuthProviders
✅ ReserveUsername_WithEmptyUsername_ShouldRedirectToLogin
✅ ReserveUsername_WithoutUsernameParam_ShouldRedirectToLogin
✅ ReserveUsername_WithUsernameParam_ShouldDisplayUsername

✅ IrcChat.Client.Tests.Pages.SettingsTests

✅ Settings_AdminUser_OpenAdminPanel_ShouldDisplayPanel
✅ Settings_BackButton_ShouldNavigateToChat
✅ Settings_CreateChannel_DuplicateName_ShouldShowError
✅ Settings_CreateChannel_EnterKey_ShouldCreateChannel
✅ Settings_CreateChannel_Success_ShouldNavigateToChat
✅ Settings_CreateChannel_WithError_ShouldShowError
✅ Settings_CreateChannel_WithReservedUser_ShouldSucceed
✅ Settings_CreateChannelButton_WithEmptyInput_ShouldBeDisabled
✅ Settings_ForgetUsername_Cancel_ShouldHideModal
✅ Settings_ForgetUsername_Confirm_ShouldCallServiceAndRedirect
✅ Settings_ForgetUsername_ShouldShowConfirmation
✅ Settings_GuestUser_ReserveButton_ShouldNavigateToReserve
✅ Settings_GuestUser_ShouldNotShowChannelCreation
✅ Settings_GuestUser_ShouldShowReserveOption
✅ Settings_Loading_ShouldShowSpinner
✅ Settings_Logout_ShouldCallServiceAndRedirect
✅ Settings_WhenNoUsername_ShouldRedirectToLogin
✅ Settings_WithAdminUser_ShouldShowAdminPanel
✅ Settings_WithAvatarUrl_ShouldDisplayAvatar
✅ Settings_WithGuestUser_ShouldShowGuestBadge
✅ Settings_WithoutAvatarUrl_ShouldDisplayPlaceholder
✅ Settings_WithReservedUser_ShouldShowUserInfo

✅ IrcChat.Client.Tests.Services.ChatServiceTests

✅ ChatService_OnUserMuted_PropertyExists
✅ ChatService_ShouldInitialize
✅ DisposeAsync_AfterInitialize_ShouldDisposeConnectionAndTimer
✅ DisposeAsync_CalledMultipleTimes_ShouldNotThrow
✅ DisposeAsync_ShouldCleanupResources
✅ InitializeAsync_ShouldConnectSuccessfully
✅ InitializeAsync_ShouldRegisterUserMutedHandler
✅ InitializeAsync_ShouldRegisterUserUnmutedHandler
✅ JoinChannel_WhenConnectionExists_ShouldCallSendAsync
✅ JoinChannel_WhenConnectionNull_ShouldNotThrow
✅ LeaveChannel_WhenConnectionExists_ShouldCallSendAsync
✅ LeaveChannel_WhenConnectionNull_ShouldNotThrow
✅ MarkPrivateMessagesAsRead_WhenConnectionExists_ShouldCallSendAsync
✅ MarkPrivateMessagesAsRead_WhenConnectionNull_ShouldNotThrow
✅ MultipleEventSubscribers_ShouldAllBeNotified
✅ OnChannelDeleted_ShouldTriggerEvent
✅ OnChannelListUpdated_ShouldTriggerEvent
✅ OnChannelMuteStatusChanged_ShouldTriggerEvent
✅ OnChannelNotFound_ShouldTriggerEvent
✅ OnMessageBlocked_ShouldTriggerEvent
✅ OnMessageReceived_ShouldTriggerEvent
✅ OnUserJoined_ShouldTriggerEvent
✅ OnUserLeft_ShouldTriggerEvent
✅ OnUserMuted_MultipleSubscribers_ShouldNotifyAll
✅ OnUserMuted_NoSubscribers_ShouldNotThrow
✅ OnUserMuted_ShouldTriggerEvent
✅ OnUserMuted_WithEmptyChannel_ShouldStillTrigger
✅ OnUserUnmuted_MultipleSubscribers_ShouldNotifyAll
✅ OnUserUnmuted_NoSubscribers_ShouldNotThrow
✅ OnUserUnmuted_ShouldTriggerEvent
✅ OnUserUnmuted_WithEmptyChannel_ShouldStillTrigger
✅ Ping_WhenSendAsyncThrows_ShouldLogError
✅ PrivateMessageSent_ShouldNotifyPrivateMessageService
✅ PrivateMessagesRead_ShouldNotifyPrivateMessageService
✅ ReceivePrivateMessage_ShouldNotifyPrivateMessageService
✅ SendMessage_WhenConnectionExists_ShouldCallSendAsync
✅ SendMessage_WhenConnectionNull_ShouldNotThrow
✅ SendPrivateMessage_WhenConnectionExists_ShouldCallSendAsync
✅ SendPrivateMessage_WhenConnectionNull_ShouldNotThrow

✅ IrcChat.Client.Tests.Services.DeviceDetectorServiceTests

✅ DisposeAsync_ShouldDisposeModule
✅ DisposeAsync_WhenDisposeThrows_ShouldLogWarning
✅ DisposeAsync_WhenModuleNotInitialized_ShouldNotThrow
✅ EnsureInitializedAsync_WhenModuleLoadFails_ShouldLogErrorAndThrow
✅ GetScreenWidthAsync_ShouldReturnCorrectWidth
✅ GetScreenWidthAsync_VariousWidths_ShouldReturnCorrectValue(width: 1024)
✅ GetScreenWidthAsync_VariousWidths_ShouldReturnCorrectValue(width: 1920)
✅ GetScreenWidthAsync_VariousWidths_ShouldReturnCorrectValue(width: 2560)
✅ GetScreenWidthAsync_VariousWidths_ShouldReturnCorrectValue(width: 320)
✅ GetScreenWidthAsync_VariousWidths_ShouldReturnCorrectValue(width: 768)
✅ GetScreenWidthAsync_WhenJSError_ShouldReturnDefaultWidth
✅ IsMobileDeviceAsync_CalledMultipleTimes_ShouldReuseModule
✅ IsMobileDeviceAsync_WhenDesktop_ShouldReturnFalse
✅ IsMobileDeviceAsync_WhenJSError_ShouldReturnFalseAndLogWarning
✅ IsMobileDeviceAsync_WhenMobile_ShouldReturnTrue

✅ IrcChat.Client.Tests.Services.IgnoredUsersServiceTests

✅ DisposeAsync_ShouldDisposeModule
✅ IgnoreUserAsync_WhenModuleLoaded_ShouldCallJSFunctionAndInvokeEvent
✅ InitializeAsync_ShouldLoadModule
✅ IsUserIgnored_WhenModuleNotLoaded_ShouldReturnFalse
✅ OnIgnoredUsersChanged_ShouldBeInvokedWhenIgnoringUser
✅ OnIgnoredUsersChanged_ShouldBeInvokedWhenUnignoringUser
✅ ToggleIgnoreUserAsync_WhenUserIgnored_ShouldUnignore
✅ ToggleIgnoreUserAsync_WhenUserNotIgnored_ShouldIgnore
✅ UnignoreUserAsync_WhenModuleLoaded_ShouldCallJSFunctionAndInvokeEvent

✅ IrcChat.Client.Tests.Services.OAuthClientServiceTests

✅ HandleCallbackAsync_ShouldSendCorrectTokenRequest
✅ HandleCallbackAsync_WhenTokenExchangeFails_ShouldThrow
✅ HandleCallbackAsync_WithInvalidProvider_ShouldThrow
✅ HandleCallbackAsync_WithInvalidState_ShouldThrow
✅ HandleCallbackAsync_WithValidState_ShouldExchangeToken
✅ InitiateAuthorizationFlowAsync_ForMicrosoft_ShouldGenerateCorrectUrl
✅ InitiateAuthorizationFlowAsync_ShouldGenerateAuthUrlWithPKCE
✅ InitiateAuthorizationFlowAsync_WhenApiCallFails_ShouldThrow

✅ IrcChat.Client.Tests.Services.PrivateMessageServiceTests

✅ DeleteConversationAsync_OnError_ShouldReturnFalse
✅ DeleteConversationAsync_OnException_ShouldLogErrorAndReturnFalse
✅ DeleteConversationAsync_OnException_ShouldReturnFalse
✅ DeleteConversationAsync_ShouldReturnTrueAndTriggerEvent
✅ GetConversationsAsync_OnError_ShouldReturnEmptyList
✅ GetConversationsAsync_OnException_ShouldLogError
✅ GetConversationsAsync_ShouldReturnConversations
✅ GetPrivateMessagesAsync_OnError_ShouldReturnEmptyList
✅ GetPrivateMessagesAsync_OnException_ShouldLogError
✅ GetPrivateMessagesAsync_ShouldReturnMessages
✅ GetUnreadCountAsync_OnError_ShouldReturnZero
✅ GetUnreadCountAsync_OnException_ShouldLogWarningAndReturnZero
✅ GetUnreadCountAsync_ShouldReturnCount
✅ MultipleEventSubscribers_ShouldAllBeNotified
✅ NotifyMessagesRead_ShouldTriggerEvent
✅ NotifyPrivateMessageReceived_ShouldTriggerEvents
✅ NotifyPrivateMessageSent_ShouldTriggerEvent

✅ IrcChat.Client.Tests.Services.UnifiedAuthServiceCompleteTests

✅ CanForgetUsername_WhenGuest_ShouldReturnTrue
✅ CanForgetUsername_WhenReservedAndAuthenticated_ShouldReturnTrue
✅ CanForgetUsername_WhenReservedAndNotAuthenticated_ShouldReturnFalse
✅ CanForgetUsername_WithNoUsername_ShouldReturnFalse
✅ ClearAllAsync_ShouldResetAllProperties
✅ ForgetUsernameAndLogoutAsync_WhenApiCallFails_ShouldStillClearLocally
✅ ForgetUsernameAndLogoutAsync_WhenApiThrowsNonHttpException_ShouldLogWarning
✅ ForgetUsernameAndLogoutAsync_WithAuthentication_ShouldCallApiAndClear
✅ ForgetUsernameAndLogoutAsync_WithoutAuthentication_ShouldClearLocally
✅ GetClientUserIdAsync_MultipleCalls_ShouldReturnSameValue
✅ GetClientUserIdAsync_WhenCachedValue_ShouldReturnCachedValue
✅ GetClientUserIdAsync_WhenGetUserIdFails_ShouldReturnFallbackGuid
✅ GetClientUserIdAsync_WhenGuestUser_ShouldReturnGuidFromIndexedDB
✅ GetClientUserIdAsync_WhenModuleLoadFails_ShouldReturnFallbackGuid
✅ GetClientUserIdAsync_WhenReservedUser_ShouldReturnUserId
✅ HasUsername_AfterSettingUsername_ShouldReturnTrue
✅ InitializeAsync_WithCorruptedData_ShouldHandleGracefully
✅ InitializeAsync_WithPartialData_ShouldHandleGracefully
✅ InitializeAsync_WithValidSavedData_ShouldRestoreAllProperties
✅ IsAuthenticated_WithoutToken_ShouldReturnFalse
✅ IsAuthenticated_WithToken_ShouldReturnTrue
✅ LogoutAsync_MultipleSubscribers_ShouldNotifyAll
✅ LogoutAsync_ShouldClearTokenButKeepUsername
✅ LogoutAsync_ShouldPreserveUsernameAndReservedStatus
✅ LogoutAsync_ShouldSaveStateToLocalStorage
✅ MultipleInitializeAsync_ShouldOnlyInitializeOnce
✅ OnAuthStateChanged_ShouldTriggerOnAllStateChanges
✅ RestoreFromLocalStorageAsync_WhenExceptionThrown_ShouldLogError
✅ SetAuthStateAsync_ShouldSetAllPropertiesAndTriggerEvent
✅ SetAuthStateAsync_WithAllParameters_ShouldSaveCorrectly
✅ SetAuthStateAsync_WithDifferentProviders_ShouldSaveCorrectProvider
✅ SetAuthStateAsync_WithNullAvatarUrl_ShouldHandleGracefully
✅ SetUsernameAsync_AsGuest_ShouldSaveCorrectly
✅ SetUsernameAsync_WithReservedProvider_ShouldSetCorrectly