From d357d2b0afd00bcec4fb3b07d293dec13854704d Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 24 Jan 2024 13:41:49 +0800 Subject: [PATCH] fix tests --- packages/api/src/jobs/rss/refreshFeed.ts | 7 +++++-- packages/api/src/resolvers/function_resolvers.ts | 4 ++++ packages/api/src/services/subscriptions.ts | 4 ++-- packages/rss-handler/test/index.test.ts | 10 +++++----- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/packages/api/src/jobs/rss/refreshFeed.ts b/packages/api/src/jobs/rss/refreshFeed.ts index 2f50d324e..57692d770 100644 --- a/packages/api/src/jobs/rss/refreshFeed.ts +++ b/packages/api/src/jobs/rss/refreshFeed.ts @@ -74,11 +74,14 @@ interface FetchContentTask { item: RssFeedItem } -export const isOldItem = (item: RssFeedItem, lastFetchedAt: number) => { +export const isOldItem = ( + item: RssFeedItem, + mostRecentItemTimestamp: number +) => { // existing items and items that were published before 24h const publishedAt = item.isoDate ? new Date(item.isoDate) : new Date() return ( - publishedAt <= new Date(lastFetchedAt) || + publishedAt <= new Date(mostRecentItemTimestamp) || publishedAt < new Date(Date.now() - 24 * 60 * 60 * 1000) ) } diff --git a/packages/api/src/resolvers/function_resolvers.ts b/packages/api/src/resolvers/function_resolvers.ts index 6cff177ca..6142a725d 100644 --- a/packages/api/src/resolvers/function_resolvers.ts +++ b/packages/api/src/resolvers/function_resolvers.ts @@ -477,6 +477,10 @@ export const functionResolvers = { DEFAULT_SUBSCRIPTION_FOLDER ) }, + // for campability with old clients + lastFetchedAt(subscription: Subscription) { + return subscription.mostRecentItemDate + }, }, NewsletterEmail: { subscriptionCount(newsletterEmail: NewsletterEmail) { diff --git a/packages/api/src/services/subscriptions.ts b/packages/api/src/services/subscriptions.ts index fcf25af01..22be8c2f4 100644 --- a/packages/api/src/services/subscriptions.ts +++ b/packages/api/src/services/subscriptions.ts @@ -103,7 +103,7 @@ export const saveSubscription = async ({ unsubscribeHttpUrl, unsubscribeMailTo, icon, - lastFetchedAt: new Date(), + refreshedAt: new Date(), } const existingSubscription = await getSubscriptionByName(name, userId) @@ -199,7 +199,7 @@ export const createSubscription = async ( newsletterEmail, status, unsubscribeMailTo, - lastFetchedAt: new Date(), + refreshedAt: new Date(), type: subscriptionType, url, }) diff --git a/packages/rss-handler/test/index.test.ts b/packages/rss-handler/test/index.test.ts index b43cf7973..f5c7b7b38 100644 --- a/packages/rss-handler/test/index.test.ts +++ b/packages/rss-handler/test/index.test.ts @@ -7,17 +7,17 @@ describe('isOldItem', () => { const item = { pubDate: '2020-01-01', } as RssFeedItem - const lastFetchedAt = Date.now() + const mostRecentItemTimestamp = Date.now() - expect(isOldItem(item, lastFetchedAt)).to.be.true + expect(isOldItem(item, mostRecentItemTimestamp)).to.be.true }) it('returns true if item was published at the last fetched time', () => { - const lastFetchedAt = Date.now() + const mostRecentItemTimestamp = Date.now() const item = { - pubDate: new Date(lastFetchedAt).toISOString(), + pubDate: new Date(mostRecentItemTimestamp).toISOString(), } as RssFeedItem - expect(isOldItem(item, lastFetchedAt)).to.be.true + expect(isOldItem(item, mostRecentItemTimestamp)).to.be.true }) })