mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
[web] Remove SubscriptionFormatters, format subscription dates in the frontend (#36409)
* [web] Remove SubscriptionFormatters, format subscription dates in the frontend Replace the server-formatted nextPaymentDueAt/nextPaymentDueDate/ trialEndsAtFormatted fields with the raw periodEnd date and format in the React dashboard (same strings as before, English + UTC). Also consolidate hand-rolled trial checks onto isInFreeTrial / SubscriptionHelper.isInTrial. * [web] Remove the now-unused dateformat dependency * [web] Address review: payment-dates unit test, UTC dates in acceptance test Add a dedicated unit test asserting the exact formatted strings from formatPaymentDate/formatPaymentDateTime, and use explicit UTC timestamps in the SubscriptionDashboard acceptance fixtures instead of local-timezone Date constructors. GitOrigin-RevId: 16ac4f1098b14ef9f1478d22cf39c1357ead7dea
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import isInFreeTrial from '../../../../../frontend/js/features/subscription/util/is-in-free-trial'
|
||||
import dateformat from 'dateformat'
|
||||
|
||||
describe('isInFreeTrial', function () {
|
||||
it('returns false when no date sent', function () {
|
||||
@@ -15,10 +14,6 @@ describe('isInFreeTrial', function () {
|
||||
it('returns true when date is in the future', function () {
|
||||
const today = new Date()
|
||||
const sevenDaysFromToday = new Date().setDate(today.getDate() + 7)
|
||||
const sevenDaysFromTodayFormatted = dateformat(
|
||||
sevenDaysFromToday,
|
||||
'dS mmmm yyyy'
|
||||
)
|
||||
expect(isInFreeTrial(sevenDaysFromTodayFormatted)).to.be.true
|
||||
expect(isInFreeTrial(new Date(sevenDaysFromToday).toISOString())).to.be.true
|
||||
})
|
||||
})
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import { expect } from 'chai'
|
||||
import {
|
||||
formatPaymentDate,
|
||||
formatPaymentDateTime,
|
||||
} from '../../../../../frontend/js/features/subscription/util/payment-dates'
|
||||
|
||||
describe('payment-dates', function () {
|
||||
describe('formatPaymentDate', function () {
|
||||
it('formats a date in UTC', function () {
|
||||
expect(formatPaymentDate('2025-02-20T12:00:00.000Z')).to.equal(
|
||||
'February 20th, 2025'
|
||||
)
|
||||
})
|
||||
it('returns null for missing dates', function () {
|
||||
expect(formatPaymentDate(null)).to.be.null
|
||||
expect(formatPaymentDate(undefined)).to.be.null
|
||||
})
|
||||
})
|
||||
|
||||
describe('formatPaymentDateTime', function () {
|
||||
it('formats a date and time in UTC', function () {
|
||||
expect(formatPaymentDateTime('2025-02-20T12:00:00.000Z')).to.equal(
|
||||
'February 20th, 2025 12:00 PM UTC'
|
||||
)
|
||||
})
|
||||
it('returns null for missing dates', function () {
|
||||
expect(formatPaymentDateTime(null)).to.be.null
|
||||
expect(formatPaymentDateTime(undefined)).to.be.null
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user