Skip to content

Commit a0c9c24

Browse files
authored
Merge pull request #18328 from Expensify/yuwen-optimisticIOU2
Simplify failure data for request/send money and make it more consistent with SplitBill
2 parents eb8c608 + 1a7f2e3 commit a0c9c24

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/libs/actions/IOU.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ function requestMoney(report, amount, currency, recipientEmail, participant, com
189189
errorFields: null,
190190
},
191191
};
192+
chatReportFailureData.value.pendingFields = {createChat: null};
193+
delete chatReportFailureData.value.hasOutstandingIOU;
192194
chatReportFailureData.value.errorFields = {
193195
createChat: {
194196
[DateUtils.getMicroseconds()]: Localize.translateLocal('report.genericCreateReportFailureMessage'),
@@ -198,6 +200,10 @@ function requestMoney(report, amount, currency, recipientEmail, participant, com
198200
// Then add an optimistic created action
199201
optimisticReportActionsData.value[optimisticCreatedAction.reportActionID] = optimisticCreatedAction;
200202
reportActionsSuccessData.value[optimisticCreatedAction.reportActionID] = {pendingAction: null};
203+
204+
// Failure data should feature red brick road
205+
reportActionsFailureData.value[optimisticCreatedAction.reportActionID] = {pendingAction: null};
206+
reportActionsFailureData.value[optimisticReportAction.reportActionID] = {pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD};
201207
}
202208

203209
const optimisticData = [
@@ -927,6 +933,9 @@ function getSendMoneyParams(report, amount, currency, comment, paymentMethodType
927933

928934
// Add an optimistic created action to the optimistic reportActions data
929935
optimisticReportActionsData.value[optimisticCreatedAction.reportActionID] = optimisticCreatedAction;
936+
937+
// If we're going to fail to create the report itself, let's not have redundant error messages for the IOU
938+
failureData[0].value[optimisticIOUReportAction.reportActionID] = {pendingAction: null};
930939
}
931940

932941
const optimisticData = [

tests/actions/IOUTest.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -583,8 +583,6 @@ describe('actions/IOU', () => {
583583
expect(_.size(reportActionsForChatReport)).toBe(2);
584584
iouAction = _.find(reportActionsForChatReport, reportAction => reportAction.actionName === CONST.REPORT.ACTIONS.TYPE.IOU);
585585
expect(iouAction.pendingAction).toBe(CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD);
586-
const errorMessage = _.values(iouAction.errors)[0];
587-
expect(errorMessage).toBe(Localize.translateLocal('iou.error.genericCreateFailureMessage'));
588586
resolve();
589587
},
590588
});

0 commit comments

Comments
 (0)