diff --git a/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts b/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts index 09647b980c..df9c08ad6c 100644 --- a/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts +++ b/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts @@ -66,6 +66,21 @@ describe('Default Processing Database', () => { await db('refresh_state').insert(ref); }; + const parseDate = (date: string | Date): DateTime => { + const parsedDate = + typeof date === 'string' + ? DateTime.fromSQL(date, { zone: 'UTC' }) + : DateTime.fromJSDate(date); + + if (!parsedDate.isValid) { + throw new Error( + `Failed to parse date, reason: ${parsedDate.invalidReason}, explanation: ${parsedDate.invalidExplanation}`, + ); + } + + return parsedDate; + }; + describe('addUprocessedEntities', () => { function mockEntity(name: string, type: string): Entity { return { @@ -995,9 +1010,7 @@ describe('Default Processing Database', () => { const result = await knex('refresh_state') .where('entity_ref', 'location:default/new-root') .select(); - const nextUpdate = DateTime.fromSQL(result[0].next_update_at, { - zone: 'utc', - }); + const nextUpdate = parseDate(result[0].next_update_at); expect(nextUpdate.diff(now, 'seconds').seconds).toBeGreaterThanOrEqual( 100, ); diff --git a/plugins/catalog-backend/src/next/refresh.ts b/plugins/catalog-backend/src/next/refresh.ts index caec7e9548..aae992f391 100644 --- a/plugins/catalog-backend/src/next/refresh.ts +++ b/plugins/catalog-backend/src/next/refresh.ts @@ -29,6 +29,6 @@ export function createRandomRefreshInterval(options: { }): RefreshIntervalFunction { const { minSeconds, maxSeconds } = options; return () => { - return Math.floor(Math.random() * (maxSeconds - minSeconds) + minSeconds); + return Math.random() * (maxSeconds - minSeconds) + minSeconds; }; }