mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-08 16:50:44 +02:00
Don't throw cron job when some PayPal collection fails (#18795)
* Don't throw cron job when some PayPal collection fails Follow-up of https://github.com/overleaf/internal/pull/18414 and https://github.com/overleaf/internal/pull/18572 This was causing `Heartbeat [cron-web-collect-paypal-prod] is expired.` And the cron to rerun (altogether three times a day, instead of once a day) https://cloudlogging.app.goo.gl/W4qBPFDeTUkRQ8J27 * Update tests GitOrigin-RevId: a6a29cc84c0c72fd86b2e3a9739669d3a5fb0be5
This commit is contained in:
@@ -93,7 +93,7 @@ const main = async () => {
|
||||
|
||||
const diff = INVOICES_COLLECTED.length - INVOICES_COLLECTED_SUCCESS.length
|
||||
if (diff !== 0) {
|
||||
throw new Error(`Invoices collection failed for ${diff} invoices`)
|
||||
logger.warn(`Invoices collection failed for ${diff} invoices`)
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
@@ -252,11 +252,14 @@ describe('CollectPayPalPastDueInvoice', function () {
|
||||
expect(apiRequestStub.callCount).to.eql(24)
|
||||
})
|
||||
|
||||
it('rejects when some invoice processing failed', async function () {
|
||||
it("resolves when no invoices are processed so we don't fail in staging", async function () {
|
||||
fakeApiRequests([404])
|
||||
await expect(main()).to.be.rejectedWith(
|
||||
'Invoices collection failed for 1 invoices'
|
||||
)
|
||||
const r = await main()
|
||||
expect(r).to.eql({
|
||||
INVOICES_COLLECTED: [404],
|
||||
INVOICES_COLLECTED_SUCCESS: [],
|
||||
USERS_COLLECTED: ['404'],
|
||||
})
|
||||
})
|
||||
|
||||
it('doesnt reject when there are no invoices', async function () {
|
||||
@@ -269,10 +272,13 @@ describe('CollectPayPalPastDueInvoice', function () {
|
||||
})
|
||||
})
|
||||
|
||||
it('resolves when some invoices are partially successful', async function () {
|
||||
it("resolves when collection is partially successful so we don't fail in prod", async function () {
|
||||
fakeApiRequests([200, 404])
|
||||
await expect(main()).to.be.rejectedWith(
|
||||
'Invoices collection failed for 1 invoices'
|
||||
)
|
||||
const r = await main()
|
||||
expect(r).to.eql({
|
||||
INVOICES_COLLECTED: [200, 404],
|
||||
INVOICES_COLLECTED_SUCCESS: [200],
|
||||
USERS_COLLECTED: ['200', '404'],
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user