Skip to content

Commit c7c0583

Browse files
authored
Merge pull request Expensify#67746 from thelullabyy/fix/67104-erroe-show-up-in-take-as-test-drive
Error shows up in Take a test drive task after deleting workspace and taking a test drive
2 parents 54b42e8 + d1e5fc2 commit c7c0583

6 files changed

Lines changed: 8 additions & 27 deletions

File tree

src/components/TestDrive/TestDriveDemo.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,12 @@ function TestDriveDemo() {
2424
const [onboarding] = useOnyx(ONYXKEYS.NVP_ONBOARDING, {canBeMissing: false});
2525
const [onboardingReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${onboarding?.chatReportID}`, {canBeMissing: true});
2626
const [introSelected] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED, {canBeMissing: true});
27-
const viewTourReportID = introSelected?.viewTour;
28-
const [viewTourReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${viewTourReportID}`, {canBeMissing: true});
2927
const {testDrive} = useOnboardingMessages();
3028

3129
useEffect(() => {
3230
InteractionManager.runAfterInteractions(() => {
3331
setIsVisible(true);
34-
completeTestDriveTask(viewTourReport, viewTourReportID);
32+
completeTestDriveTask();
3533
});
3634

3735
// This should fire only during mount.

src/libs/actions/Task.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1324,9 +1324,9 @@ function getFinishOnboardingTaskOnyxData(taskName: IntroSelectedTask): OnyxData
13241324

13251325
return {};
13261326
}
1327-
function completeTestDriveTask(viewTourReport: OnyxEntry<OnyxTypes.Report>, viewTourReportID: string | undefined, shouldUpdateSelfTourViewedOnlyLocally = false) {
1327+
function completeTestDriveTask(shouldUpdateSelfTourViewedOnlyLocally = false) {
13281328
setSelfTourViewed(shouldUpdateSelfTourViewedOnlyLocally);
1329-
completeTask(viewTourReport, viewTourReportID);
1329+
getFinishOnboardingTaskOnyxData(CONST.ONBOARDING_TASK_TYPE.VIEW_TOUR);
13301330
}
13311331

13321332
export {

src/pages/Search/EmptySearchView.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,6 @@ function EmptySearchView({hash, type, groupBy, hasResults}: EmptySearchViewProps
163163
selector: hasSeenTourSelector,
164164
canBeMissing: true,
165165
});
166-
const viewTourReportID = introSelected?.viewTour;
167-
const [viewTourReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${viewTourReportID}`, {canBeMissing: true});
168166

169167
// Default 'Folder' lottie animation, along with its background styles
170168
const defaultViewItemHeader = useMemo(
@@ -204,7 +202,7 @@ function EmptySearchView({hash, type, groupBy, hasResults}: EmptySearchViewProps
204202
introSelected?.choice === CONST.ONBOARDING_CHOICES.TRACK_WORKSPACE ||
205203
(introSelected?.choice === CONST.ONBOARDING_CHOICES.SUBMIT && introSelected.inviteType === CONST.ONBOARDING_INVITE_TYPES.WORKSPACE)
206204
) {
207-
completeTestDriveTask(viewTourReport, viewTourReportID);
205+
completeTestDriveTask();
208206
Navigation.navigate(ROUTES.TEST_DRIVE_DEMO_ROOT);
209207
} else {
210208
Navigation.navigate(ROUTES.TEST_DRIVE_MODAL_ROOT.route);
@@ -382,8 +380,6 @@ function EmptySearchView({hash, type, groupBy, hasResults}: EmptySearchViewProps
382380
currentUserPersonalDetails,
383381
tripViewChildren,
384382
shouldRedirectToExpensifyClassic,
385-
viewTourReport,
386-
viewTourReportID,
387383
transactions,
388384
]);
389385

src/pages/home/sidebar/FloatingActionButtonAndPopover.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,6 @@ function FloatingActionButtonAndPopover({onHideCreateMenu, onShowCreateMenu, isT
135135
selector: hasSeenTourSelector,
136136
canBeMissing: true,
137137
});
138-
const viewTourReportID = introSelected?.viewTour;
139-
const [viewTourReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${viewTourReportID}`, {canBeMissing: true});
140138

141139
const groupPoliciesWithChatEnabled = getGroupPaidPoliciesWithExpenseChatEnabled();
142140

@@ -536,7 +534,7 @@ function FloatingActionButtonAndPopover({onHideCreateMenu, onShowCreateMenu, isT
536534
introSelected?.choice === CONST.ONBOARDING_CHOICES.TRACK_WORKSPACE ||
537535
(introSelected?.choice === CONST.ONBOARDING_CHOICES.SUBMIT && introSelected.inviteType === CONST.ONBOARDING_INVITE_TYPES.WORKSPACE)
538536
) {
539-
completeTestDriveTask(viewTourReport, viewTourReportID, isAnonymousUser());
537+
completeTestDriveTask(isAnonymousUser());
540538
Navigation.navigate(ROUTES.TEST_DRIVE_DEMO_ROOT);
541539
} else {
542540
Navigation.navigate(ROUTES.TEST_DRIVE_MODAL_ROOT.route);

src/pages/iou/request/step/IOURequestStepConfirmation.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -189,10 +189,6 @@ function IOURequestStepConfirmation({
189189
const [isConfirmed, setIsConfirmed] = useState(false);
190190
const [isConfirming, setIsConfirming] = useState(false);
191191

192-
const [introSelected] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED, {canBeMissing: true});
193-
const viewTourReportID = introSelected?.viewTour;
194-
const [viewTourReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${viewTourReportID}`, {canBeMissing: true});
195-
196192
const headerTitle = useMemo(() => {
197193
if (isCategorizingTrackExpense) {
198194
return translate('iou.categorize');
@@ -453,7 +449,7 @@ function IOURequestStepConfirmation({
453449
const isTestDriveReceipt = receipt?.isTestDriveReceipt ?? false;
454450

455451
if (isTestDriveReceipt) {
456-
completeTestDriveTask(viewTourReport, viewTourReportID);
452+
completeTestDriveTask();
457453
}
458454

459455
requestMoneyIOUActions({
@@ -515,8 +511,6 @@ function IOURequestStepConfirmation({
515511
transactionTaxAmount,
516512
customUnitRateID,
517513
backToReport,
518-
viewTourReport,
519-
viewTourReportID,
520514
],
521515
);
522516

tests/actions/TaskTest.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import useParentReport from '@hooks/useParentReport';
44
import useReportIsArchived from '@hooks/useReportIsArchived';
55
import {canActionTask, canModifyTask, completeTestDriveTask, getFinishOnboardingTaskOnyxData} from '@libs/actions/Task';
66
// eslint-disable-next-line no-restricted-syntax -- this is required to allow mocking
7-
import * as API from '@libs/API';
8-
import {WRITE_COMMANDS} from '@libs/API/types';
97
import DateUtils from '@libs/DateUtils';
108
import {translateLocal} from '@libs/Localize';
119
import Parser from '@libs/Parser';
@@ -232,11 +230,8 @@ describe('actions/Task', () => {
232230
});
233231

234232
it('Completes test drive task', () => {
235-
const writeSpy = jest.spyOn(API, 'write');
236-
237-
completeTestDriveTask(testDriveTaskReport, testDriveTaskReport.reportID);
238-
239-
expect(writeSpy).toHaveBeenCalledWith(WRITE_COMMANDS.COMPLETE_TASK, expect.anything(), expect.anything());
233+
completeTestDriveTask();
234+
expect(Object.values(getFinishOnboardingTaskOnyxData(CONST.ONBOARDING_TASK_TYPE.VIEW_TOUR)).length).toBe(0);
240235
});
241236
});
242237

0 commit comments

Comments
 (0)