Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/libs/API/parameters/SearchForUsersParams.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
type SearchForUsersParams = {
searchInput: string;
canCancel?: boolean;
};

export default SearchForUsersParams;
1 change: 1 addition & 0 deletions src/libs/API/parameters/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ export type {default as ResolveActionableReportMentionWhisperParams} from './Res
export type {default as RevealExpensifyCardDetailsParams} from './RevealExpensifyCardDetailsParams';
export type {default as SearchForReportsParams} from './SearchForReportsParams';
export type {default as SearchForRoomsToMentionParams} from './SearchForRoomsToMentionParams';
export type {default as SearchForUsersParams} from './SearchForUsersParams';
export type {default as SendPerformanceTimingParams} from './SendPerformanceTimingParams';
export type {default as GraphiteParams} from './GraphiteParams';
export type {default as SetContactMethodAsDefaultParams} from './SetContactMethodAsDefaultParams';
Expand Down
2 changes: 2 additions & 0 deletions src/libs/API/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1113,6 +1113,7 @@ const READ_COMMANDS = {
OPEN_ROOM_MEMBERS_PAGE: 'OpenRoomMembersPage',
SEARCH_FOR_REPORTS: 'SearchForReports',
SEARCH_FOR_ROOMS_TO_MENTION: 'SearchForRoomsToMention',
SEARCH_FOR_USERS: 'SearchForUsers',
SEND_PERFORMANCE_TIMING: 'SendPerformanceTiming',
GRAPHITE: 'Graphite',
GET_ROUTE: 'GetRoute',
Expand Down Expand Up @@ -1194,6 +1195,7 @@ type ReadCommandParameters = {
[READ_COMMANDS.OPEN_ROOM_MEMBERS_PAGE]: Parameters.OpenRoomMembersPageParams;
[READ_COMMANDS.SEARCH_FOR_REPORTS]: Parameters.SearchForReportsParams;
[READ_COMMANDS.SEARCH_FOR_ROOMS_TO_MENTION]: Parameters.SearchForRoomsToMentionParams;
[READ_COMMANDS.SEARCH_FOR_USERS]: Parameters.SearchForUsersParams;
[READ_COMMANDS.SEND_PERFORMANCE_TIMING]: Parameters.SendPerformanceTimingParams;
[READ_COMMANDS.GRAPHITE]: Parameters.GraphiteParams;
[READ_COMMANDS.GET_ROUTE]: Parameters.GetRouteParams;
Expand Down
2 changes: 2 additions & 0 deletions src/libs/HttpUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ let shouldForceOffline = false;
const ABORT_COMMANDS = {
All: 'All',
[READ_COMMANDS.SEARCH_FOR_REPORTS]: READ_COMMANDS.SEARCH_FOR_REPORTS,
[READ_COMMANDS.SEARCH_FOR_USERS]: READ_COMMANDS.SEARCH_FOR_USERS,
} as const;

type AbortCommand = keyof typeof ABORT_COMMANDS;
Expand All @@ -38,6 +39,7 @@ Onyx.connectWithoutView({
const abortControllerMap = new Map<AbortCommand, AbortController>();
abortControllerMap.set(ABORT_COMMANDS.All, new AbortController());
abortControllerMap.set(ABORT_COMMANDS.SearchForReports, new AbortController());
abortControllerMap.set(ABORT_COMMANDS.SearchForUsers, new AbortController());

/**
* The API commands that require the skew calculation
Expand Down
28 changes: 22 additions & 6 deletions src/libs/actions/Report.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
ResolveActionableReportMentionWhisperParams,
SearchForReportsParams,
SearchForRoomsToMentionParams,
SearchForUsersParams,
TogglePinnedChatParams,
TransactionThreadInfo,
UpdateChatNameParams,
Expand Down Expand Up @@ -276,7 +277,7 @@
let currentUserAccountID = -1;
let currentUserEmail: string | undefined;

Onyx.connect({

Check warning on line 280 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.SESSION,
callback: (value) => {
// When signed out, val is undefined
Expand All @@ -289,7 +290,7 @@
},
});

Onyx.connect({

Check warning on line 293 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.CONCIERGE_REPORT_ID,
callback: (value) => (conciergeReportID = value),
});
Expand All @@ -297,7 +298,7 @@
// map of reportID to all reportActions for that report
const allReportActions: OnyxCollection<ReportActions> = {};

Onyx.connect({

Check warning on line 301 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.COLLECTION.REPORT_ACTIONS,
callback: (actions, key) => {
if (!key || !actions) {
Expand All @@ -309,14 +310,14 @@
});

let allTransactionViolations: OnyxCollection<TransactionViolations> = {};
Onyx.connect({

Check warning on line 313 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS,
waitForCollectionCallback: true,
callback: (value) => (allTransactionViolations = value),
});

let allReports: OnyxCollection<Report>;
Onyx.connect({

Check warning on line 320 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.COLLECTION.REPORT,
waitForCollectionCallback: true,
callback: (value) => {
Expand All @@ -325,7 +326,7 @@
});

let allPersonalDetails: OnyxEntry<PersonalDetailsList> = {};
Onyx.connect({

Check warning on line 329 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.PERSONAL_DETAILS_LIST,
callback: (value) => {
allPersonalDetails = value ?? {};
Expand All @@ -340,7 +341,7 @@
});

let onboarding: OnyxEntry<Onboarding>;
Onyx.connect({

Check warning on line 344 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.NVP_ONBOARDING,
callback: (val) => {
if (Array.isArray(val)) {
Expand All @@ -351,13 +352,13 @@
});

let introSelected: OnyxEntry<IntroSelected> = {};
Onyx.connect({

Check warning on line 355 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.NVP_INTRO_SELECTED,
callback: (val) => (introSelected = val),
});

let allReportDraftComments: Record<string, string | undefined> = {};
Onyx.connect({

Check warning on line 361 in src/libs/actions/Report.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.COLLECTION.REPORT_DRAFT_COMMENT,
waitForCollectionCallback: true,
callback: (value) => (allReportDraftComments = value),
Expand Down Expand Up @@ -4482,7 +4483,7 @@
Onyx.merge(`${ONYXKEYS.COLLECTION.PRIVATE_NOTES_DRAFT}${reportID}`, note);
}

function searchForReports(isOffline: boolean, searchInput: string, policyID?: string) {
function searchForReports(isOffline: boolean, searchInput: string, policyID?: string, isUserSearch = false) {
// We do not try to make this request while offline because it sets a loading indicator optimistically
if (isOffline) {
Onyx.set(ONYXKEYS.IS_SEARCHING_FOR_REPORTS, false);
Expand All @@ -4506,20 +4507,26 @@
];

const searchForRoomToMentionParams: SearchForRoomsToMentionParams = {query: searchInput.toLowerCase(), policyID};
const searchForReportsParams: SearchForReportsParams = {searchInput: searchInput.toLowerCase(), canCancel: true};
const searchForReportsOrUsersParams: SearchForReportsParams | SearchForUsersParams = {searchInput: searchInput.toLowerCase(), canCancel: true};

// We want to cancel all pending SearchForReports API calls before making another one
if (!policyID) {
HttpUtils.cancelPendingRequests(READ_COMMANDS.SEARCH_FOR_REPORTS);
if (isUserSearch) {
HttpUtils.cancelPendingRequests(READ_COMMANDS.SEARCH_FOR_USERS);
} else {
HttpUtils.cancelPendingRequests(READ_COMMANDS.SEARCH_FOR_REPORTS);
}
}

API.read(policyID ? READ_COMMANDS.SEARCH_FOR_ROOMS_TO_MENTION : READ_COMMANDS.SEARCH_FOR_REPORTS, policyID ? searchForRoomToMentionParams : searchForReportsParams, {
const searchForReportsOrUsersCommand = isUserSearch ? READ_COMMANDS.SEARCH_FOR_USERS : READ_COMMANDS.SEARCH_FOR_REPORTS;

API.read(policyID ? READ_COMMANDS.SEARCH_FOR_ROOMS_TO_MENTION : searchForReportsOrUsersCommand, policyID ? searchForRoomToMentionParams : searchForReportsOrUsersParams, {
successData,
failureData,
});
}

function searchInServer(searchInput: string, policyID?: string) {
function performServerSearch(searchInput: string, policyID?: string, isUserSearch = false) {
// We are not getting isOffline from components as useEffect change will re-trigger the search on network change
const isOffline = NetworkStore.isOffline();
if (isOffline || !searchInput.trim().length) {
Expand All @@ -4531,7 +4538,15 @@
// we want to show the loading state right away. Otherwise, we will see a flashing UI where the client options are sorted and
// tell the user there are no options, then we start searching, and tell them there are no options again.
Onyx.set(ONYXKEYS.IS_SEARCHING_FOR_REPORTS, true);
searchForReports(isOffline, searchInput, policyID);
searchForReports(isOffline, searchInput, policyID, isUserSearch);
}

function searchInServer(searchInput: string, policyID?: string) {
performServerSearch(searchInput, policyID);
}

function searchUserInServer(searchInput: string) {
performServerSearch(searchInput, undefined, true);
}

function updateLastVisitTime(reportID: string) {
Expand Down Expand Up @@ -6360,6 +6375,7 @@
saveReportActionDraft,
saveReportDraftComment,
searchInServer,
searchUserInServer,
setDeleteTransactionNavigateBackUrl,
setGroupDraft,
setIsComposerFullSize,
Expand Down
4 changes: 2 additions & 2 deletions src/pages/InviteReportParticipantsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useSearchSelector from '@hooks/useSearchSelector';
import useThemeStyles from '@hooks/useThemeStyles';
import {inviteToGroupChat, searchInServer} from '@libs/actions/Report';
import {inviteToGroupChat, searchUserInServer} from '@libs/actions/Report';
import {clearUserSearchPhrase, updateUserSearchPhrase} from '@libs/actions/RoomMembersUserSearchPhrase';
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
import {appendCountryCode} from '@libs/LoginUtils';
Expand Down Expand Up @@ -71,7 +71,7 @@ function InviteReportParticipantsPage({report}: InviteReportParticipantsPageProp

useEffect(() => {
updateUserSearchPhrase(debouncedSearchTerm);
searchInServer(debouncedSearchTerm);
searchUserInServer(debouncedSearchTerm);
}, [debouncedSearchTerm]);

const sections = useMemo(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import useResponsiveLayout from '@hooks/useResponsiveLayout';
import useSearchSelector from '@hooks/useSearchSelector';
import useThemeStyles from '@hooks/useThemeStyles';
import {addMembersToWorkspace} from '@libs/actions/Policy/Member';
import {searchInServer} from '@libs/actions/Report';
import {searchUserInServer} from '@libs/actions/Report';
import {READ_COMMANDS} from '@libs/API/types';
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
import HttpUtils from '@libs/HttpUtils';
Expand Down Expand Up @@ -86,7 +86,7 @@ function BaseOnboardingWorkspaceInvite({shouldUseNativeStyles}: BaseOnboardingWo
const welcomeNote = useMemo(() => translate('workspace.common.welcomeNote'), [translate]);

useEffect(() => {
searchInServer(debouncedSearchTerm);
searchUserInServer(debouncedSearchTerm);
}, [debouncedSearchTerm]);

const sections: Sections[] = useMemo(() => {
Expand Down
4 changes: 2 additions & 2 deletions src/pages/RoomInvitePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useReportIsArchived from '@hooks/useReportIsArchived';
import useThemeStyles from '@hooks/useThemeStyles';
import {inviteToRoomAction, searchInServer} from '@libs/actions/Report';
import {inviteToRoomAction, searchUserInServer} from '@libs/actions/Report';
import {clearUserSearchPhrase, updateUserSearchPhrase} from '@libs/actions/RoomMembersUserSearchPhrase';
import {READ_COMMANDS} from '@libs/API/types';
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
Expand Down Expand Up @@ -249,7 +249,7 @@ function RoomInvitePage({

useEffect(() => {
updateUserSearchPhrase(debouncedSearchTerm);
searchInServer(debouncedSearchTerm);
searchUserInServer(debouncedSearchTerm);
}, [debouncedSearchTerm]);

let subtitleKey: '' | TranslationPaths | undefined;
Expand Down
4 changes: 2 additions & 2 deletions src/pages/iou/request/MoneyRequestAccountantSelector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import {
isCurrentUser,
orderOptions,
} from '@libs/OptionsListUtils';
import {searchInServer} from '@userActions/Report';
import {searchUserInServer} from '@userActions/Report';
import type {IOUAction, IOUType} from '@src/CONST';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
Expand Down Expand Up @@ -68,7 +68,7 @@ function MoneyRequestAccountantSelector({onFinish, onAccountantSelected, iouType
const [loginList] = useOnyx(ONYXKEYS.LOGIN_LIST, {canBeMissing: true});

useEffect(() => {
searchInServer(debouncedSearchTerm.trim());
searchUserInServer(debouncedSearchTerm.trim());
}, [debouncedSearchTerm]);

const defaultOptions = useMemo(() => {
Expand Down
4 changes: 2 additions & 2 deletions src/pages/iou/request/MoneyRequestAttendeeSelector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import usePolicy from '@hooks/usePolicy';
import useScreenWrapperTransitionStatus from '@hooks/useScreenWrapperTransitionStatus';
import useSearchSelector from '@hooks/useSearchSelector';
import useThemeStyles from '@hooks/useThemeStyles';
import {searchInServer} from '@libs/actions/Report';
import {searchUserInServer} from '@libs/actions/Report';
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
import {
formatSectionsFromSearchTerm,
Expand Down Expand Up @@ -121,7 +121,7 @@ function MoneyRequestAttendeeSelector({attendees = [], onFinish, onAttendeesAdde
});

useEffect(() => {
searchInServer(debouncedSearchTerm.trim());
searchUserInServer(debouncedSearchTerm.trim());
}, [debouncedSearchTerm]);

const orderedAvailableOptions = useMemo(() => {
Expand Down
4 changes: 2 additions & 2 deletions src/pages/iou/request/MoneyRequestParticipantsSelector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import type {OptionData} from '@libs/ReportUtils';
import {isInvoiceRoom} from '@libs/ReportUtils';
import {shouldRestrictUserBillableActions} from '@libs/SubscriptionUtils';
import {getInvoicePrimaryWorkspace} from '@userActions/Policy/Policy';
import {searchInServer} from '@userActions/Report';
import {searchUserInServer} from '@userActions/Report';
import type {IOUAction, IOUType} from '@src/CONST';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
Expand Down Expand Up @@ -239,7 +239,7 @@ function MoneyRequestParticipantsSelector({
const cleanSearchTerm = useMemo(() => debouncedSearchTerm.trim().toLowerCase(), [debouncedSearchTerm]);

useEffect(() => {
searchInServer(debouncedSearchTerm.trim());
searchUserInServer(debouncedSearchTerm.trim());
}, [debouncedSearchTerm]);

const inputHelperText = useMemo(
Expand Down
4 changes: 2 additions & 2 deletions src/pages/settings/Security/AddDelegate/AddDelegatePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useSearchSelector from '@hooks/useSearchSelector';
import useThemeStyles from '@hooks/useThemeStyles';
import {searchInServer} from '@libs/actions/Report';
import {searchUserInServer} from '@libs/actions/Report';
import Navigation from '@libs/Navigation/Navigation';
import {getHeaderMessage} from '@libs/OptionsListUtils';
import CONST from '@src/CONST';
Expand Down Expand Up @@ -95,7 +95,7 @@ function AddDelegatePage() {
}, [availableOptions.recentReports, availableOptions.personalDetails, availableOptions.userToInvite, translate]);

useEffect(() => {
searchInServer(debouncedSearchTerm);
searchUserInServer(debouncedSearchTerm);
}, [debouncedSearchTerm]);

return (
Expand Down
4 changes: 2 additions & 2 deletions src/pages/tasks/TaskAssigneeSelectorModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import useOnyx from '@hooks/useOnyx';
import useReportIsArchived from '@hooks/useReportIsArchived';
import useSearchSelector from '@hooks/useSearchSelector';
import useThemeStyles from '@hooks/useThemeStyles';
import {searchInServer} from '@libs/actions/Report';
import {searchUserInServer} from '@libs/actions/Report';
import {canModifyTask, editTaskAssignee, setAssigneeValue} from '@libs/actions/Task';
import {READ_COMMANDS} from '@libs/API/types';
import HttpUtils from '@libs/HttpUtils';
Expand Down Expand Up @@ -215,7 +215,7 @@ function TaskAssigneeSelectorModal() {
const isTaskNonEditable = isTaskReport(report) && (!isTaskModifiable || !isOpen);

useEffect(() => {
searchInServer(debouncedSearchTerm);
searchUserInServer(debouncedSearchTerm);
}, [debouncedSearchTerm]);

return (
Expand Down
4 changes: 2 additions & 2 deletions src/pages/workspace/WorkspaceInvitePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import useSearchSelector from '@hooks/useSearchSelector';
import useThemeStyles from '@hooks/useThemeStyles';
import {setWorkspaceInviteMembersDraft} from '@libs/actions/Policy/Member';
import {clearErrors, openWorkspaceInvitePage as policyOpenWorkspaceInvitePage, setWorkspaceErrors} from '@libs/actions/Policy/Policy';
import {searchInServer} from '@libs/actions/Report';
import {searchUserInServer} from '@libs/actions/Report';
import {READ_COMMANDS} from '@libs/API/types';
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
import HttpUtils from '@libs/HttpUtils';
Expand Down Expand Up @@ -229,7 +229,7 @@ function WorkspaceInvitePage({route, policy}: WorkspaceInvitePageProps) {
);

useEffect(() => {
searchInServer(debouncedSearchTerm);
searchUserInServer(debouncedSearchTerm);
}, [debouncedSearchTerm]);

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import usePolicy from '@hooks/usePolicy';
import useSearchSelector from '@hooks/useSearchSelector';
import useThemeStyles from '@hooks/useThemeStyles';
import {setDraftInviteAccountID} from '@libs/actions/Card';
import {searchInServer} from '@libs/actions/Report';
import {searchUserInServer} from '@libs/actions/Report';
import {getDefaultCardName} from '@libs/CardUtils';
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
Expand Down Expand Up @@ -222,7 +222,7 @@ function AssigneeStep({route}: AssigneeStepProps) {
]);

useEffect(() => {
searchInServer(debouncedSearchTerm);
searchUserInServer(debouncedSearchTerm);
}, [debouncedSearchTerm]);

const headerMessage = useMemo(() => {
Expand Down
4 changes: 2 additions & 2 deletions src/pages/workspace/expensifyCard/issueNew/AssigneeStep.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import useNetwork from '@hooks/useNetwork';
import useOnyx from '@hooks/useOnyx';
import useSearchSelector from '@hooks/useSearchSelector';
import useThemeStyles from '@hooks/useThemeStyles';
import {searchInServer} from '@libs/actions/Report';
import {searchUserInServer} from '@libs/actions/Report';
import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import {getHeaderMessage, getSearchValueForPhoneOrEmail, sortAlphabetically} from '@libs/OptionsListUtils';
Expand Down Expand Up @@ -188,7 +188,7 @@ function AssigneeStep({policy, stepNames, startStepIndex, route}: AssigneeStepPr
]);

useEffect(() => {
searchInServer(debouncedSearchTerm);
searchUserInServer(debouncedSearchTerm);
}, [debouncedSearchTerm]);

const headerMessage = useMemo(() => {
Expand Down
10 changes: 10 additions & 0 deletions tests/actions/ReportTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2565,6 +2565,16 @@ describe('actions/Report', () => {
});
});

describe('searchUserInServer', () => {
it('should return the same result with or without uppercase input.', () => {
Report.searchUserInServer('test');
Report.searchUserInServer('TEST');
const upperCaseRequest = PersistedRequests.getAll().at(0);
const lowerCaseRequest = PersistedRequests.getAll().at(1);
expect(upperCaseRequest?.data?.searchInput).toBe(lowerCaseRequest?.data?.searchInput);
});
});

it('should not overwrite testDriveModalDismissed when it is already true', async () => {
const TEST_USER_ACCOUNT_ID = 1;
const TEST_USER_LOGIN = 'test@test.com';
Expand Down
Loading