소스 검색

Merge pull request #21377 from overleaf/mf-add-countryCode-to-view-plans-and-interstitial-page-new

[web] Add missing `countryCode` in new-design plans page and all variants of the interstitial payment page

GitOrigin-RevId: e3a410e89a6745d042f9747a01960618eb622733
M Fahru 1 년 전
부모
커밋
1547325073

+ 1 - 0
services/web/app/src/Features/Subscription/SubscriptionController.js

@@ -397,6 +397,7 @@ async function interstitialPaymentPage(req, res) {
       latamCountryBannerDetails,
       skipLinkTarget: req.session?.postCheckoutRedirect || '/project',
       websiteRedesignPlansVariant: websiteRedesignPlansAssignment.variant,
+      countryCode,
     })
   }
 }

+ 32 - 0
services/web/test/unit/src/Subscription/SubscriptionControllerTests.js

@@ -525,6 +525,16 @@ describe('SubscriptionController', function () {
         })
       })
     })
+    it('should return correct countryCode', function (done) {
+      this.GeoIpLookup.promises.getCurrencyCode.resolves({
+        countryCode: 'MX',
+      })
+      this.res.render = (page, opts) => {
+        expect(opts.countryCode).to.equal('MX')
+        done()
+      }
+      this.SubscriptionController.plansPage(this.req, this.res)
+    })
   })
 
   describe('plansPage light touch redesign', function () {
@@ -772,6 +782,17 @@ describe('SubscriptionController', function () {
         this.SubscriptionController.plansPageLightDesign(this.req, this.res)
       })
     })
+
+    it('should return correct countryCode', function (done) {
+      this.GeoIpLookup.promises.getCurrencyCode.resolves({
+        countryCode: 'MX',
+      })
+      this.res.render = (page, opts) => {
+        expect(opts.countryCode).to.equal('MX')
+        done()
+      }
+      this.SubscriptionController.plansPageLightDesign(this.req, this.res)
+    })
   })
 
   describe('interstitialPaymentPage', function () {
@@ -959,6 +980,17 @@ describe('SubscriptionController', function () {
         })
       })
     })
+
+    it('should return correct countryCode', function (done) {
+      this.GeoIpLookup.promises.getCurrencyCode.resolves({
+        countryCode: 'MX',
+      })
+      this.res.render = (page, opts) => {
+        expect(opts.countryCode).to.equal('MX')
+        done()
+      }
+      this.SubscriptionController.interstitialPaymentPage(this.req, this.res)
+    })
   })
 
   describe('successfulSubscription', function () {