@@ -1266,57 +1266,28 @@ describe('TransactionUtils', () => {
12661266 } ) ;
12671267 } ) ;
12681268
1269- describe ( 'shouldRenderLocalDistanceEReceipt ' , ( ) => {
1269+ describe ( 'isMapBasedDistanceRequest ' , ( ) => {
12701270 const UPDATE = CONST . RED_BRICK_ROAD_PENDING_ACTION . UPDATE ;
12711271 const PDF_RECEIPT = { source : 'https://www.expensify.com/receipts/w_abc123.pdf' , filename : 'w_abc123.pdf' } ;
12721272
12731273 function generateMapDistanceTransaction ( values : Partial < Transaction > = { } ) : Transaction {
12741274 return generateTransaction ( { iouRequestType : CONST . IOU . REQUEST_TYPE . DISTANCE_MAP , receipt : PDF_RECEIPT , ...values } ) ;
12751275 }
12761276
1277- it ( 'returns false for a map distance expense whose generated PDF receipt is current' , ( ) => {
1278- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( ) ) ) . toBe ( false ) ;
1279- } ) ;
1280-
1281- it ( 'returns true when there is no receipt file yet' , ( ) => {
1282- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { receipt : undefined } ) ) ) . toBe ( true ) ;
1283- } ) ;
1284-
1285- it ( 'returns true while the server rebuilds the receipt after an edit' , ( ) => {
1286- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { pendingFields : { waypoints : UPDATE } } ) ) ) . toBe ( true ) ;
1287- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { pendingFields : { merchant : UPDATE } } ) ) ) . toBe ( true ) ;
1288- } ) ;
1289-
1290- it ( 'returns true when the route failed' , ( ) => {
1291- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { errorFields : { route : { someError : 'No route found' } } } ) ) ) . toBe ( true ) ;
1277+ // New Expensify draws its own distance e-receipt for these, so the generated PDF beside them is never shown.
1278+ it ( 'is true for a map distance expense whichever receipt it stores' , ( ) => {
1279+ expect ( TransactionUtils . isMapBasedDistanceRequest ( generateMapDistanceTransaction ( ) ) ) . toBe ( true ) ;
1280+ expect ( TransactionUtils . isMapBasedDistanceRequest ( generateMapDistanceTransaction ( { receipt : undefined } ) ) ) . toBe ( true ) ;
1281+ expect ( TransactionUtils . isMapBasedDistanceRequest ( generateMapDistanceTransaction ( { pendingFields : { merchant : UPDATE } } ) ) ) . toBe ( true ) ;
12921282 } ) ;
12931283
1294- it ( 'returns true for an older expense that stored the bare map image' , ( ) => {
1295- const imageReceipt = { source : 'https://www.expensify.com/receipts/w_abc123.jpg' , filename : 'w_abc123.jpg' } ;
1296- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { receipt : imageReceipt } ) ) ) . toBe ( true ) ;
1297- // That file is still the one the card draws, so it stays downloadable.
1298- expect ( TransactionUtils . hasUsableStoredDistanceReceipt ( generateMapDistanceTransaction ( { receipt : imageReceipt } ) ) ) . toBe ( true ) ;
1284+ it ( 'is true for a GPS distance expense, which also has a route to draw' , ( ) => {
1285+ expect ( TransactionUtils . isMapBasedDistanceRequest ( generateMapDistanceTransaction ( { iouRequestType : CONST . IOU . REQUEST_TYPE . DISTANCE_GPS } ) ) ) . toBe ( true ) ;
12991286 } ) ;
13001287
1301- it ( 'keeps showing the generated receipt when an unrelated error lands on the expense' , ( ) => {
1302- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { errors : { someError : 'Payment failed' } } ) ) ) . toBe ( false ) ;
1303- } ) ;
1304-
1305- it ( 'returns false for odometer, manual distance and non-distance expenses' , ( ) => {
1306- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { iouRequestType : CONST . IOU . REQUEST_TYPE . DISTANCE_ODOMETER , receipt : undefined } ) ) ) . toBe (
1307- false ,
1308- ) ;
1309- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { iouRequestType : CONST . IOU . REQUEST_TYPE . DISTANCE_MANUAL , receipt : undefined } ) ) ) . toBe (
1310- false ,
1311- ) ;
1312- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateTransaction ( { receipt : undefined } ) ) ) . toBe ( false ) ;
1313- } ) ;
1314-
1315- it ( 'treats a GPS distance expense the same way, because it also gets a generated receipt' , ( ) => {
1316- expect ( TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { iouRequestType : CONST . IOU . REQUEST_TYPE . DISTANCE_GPS } ) ) ) . toBe ( false ) ;
1317- expect (
1318- TransactionUtils . shouldRenderLocalDistanceEReceipt ( generateMapDistanceTransaction ( { iouRequestType : CONST . IOU . REQUEST_TYPE . DISTANCE_GPS , pendingFields : { merchant : UPDATE } } ) ) ,
1319- ) . toBe ( true ) ;
1288+ it ( 'is false for odometer and non-distance expenses, which keep their own receipt' , ( ) => {
1289+ expect ( TransactionUtils . isMapBasedDistanceRequest ( generateMapDistanceTransaction ( { iouRequestType : CONST . IOU . REQUEST_TYPE . DISTANCE_ODOMETER } ) ) ) . toBe ( false ) ;
1290+ expect ( TransactionUtils . isMapBasedDistanceRequest ( generateTransaction ( { receipt : undefined } ) ) ) . toBe ( false ) ;
13201291 } ) ;
13211292 } ) ;
13221293
0 commit comments