From 819d275497706d481589ebcd1f23942c20853ec2 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Tue, 4 Apr 2023 12:52:46 +0800 Subject: [PATCH] Add wordsCount if undefined when creating pages in elastic --- packages/api/src/elastic/pages.ts | 2 ++ packages/api/test/resolvers/popular_reads.test.ts | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/api/src/elastic/pages.ts b/packages/api/src/elastic/pages.ts index 528222f5f..85850e288 100644 --- a/packages/api/src/elastic/pages.ts +++ b/packages/api/src/elastic/pages.ts @@ -2,6 +2,7 @@ import { ResponseError } from '@elastic/elasticsearch/lib/errors' import { BuiltQuery, ESBuilder, esBuilder } from 'elastic-ts' import { EntityType } from '../datalayer/pubsub' import { BulkActionType } from '../generated/graphql' +import { wordsCount } from '../utils/helpers' import { DateFilter, FieldFilter, @@ -245,6 +246,7 @@ export const createPage = async ( ...page, updatedAt: new Date(), savedAt: new Date(), + wordsCount: page.wordsCount ?? wordsCount(page.content), }, refresh: 'wait_for', // wait for the index to be refreshed before returning }) diff --git a/packages/api/test/resolvers/popular_reads.test.ts b/packages/api/test/resolvers/popular_reads.test.ts index 22d216b6e..a8d2953fc 100644 --- a/packages/api/test/resolvers/popular_reads.test.ts +++ b/packages/api/test/resolvers/popular_reads.test.ts @@ -1,9 +1,9 @@ -import { createTestUser, deleteTestUser } from '../db' -import { graphqlRequest, request } from '../util' import { expect } from 'chai' import 'mocha' -import { User } from '../../src/entity/user' import { getPageByParam } from '../../src/elastic/pages' +import { User } from '../../src/entity/user' +import { createTestUser, deleteTestUser } from '../db' +import { graphqlRequest, request } from '../util' describe('PopularReads API', () => { let user: User @@ -55,6 +55,7 @@ describe('PopularReads API', () => { expect(page?.url).to.eq( 'https://blog.omnivore.app/p/getting-started-with-omnivore' ) + expect(page?.wordsCount).to.eq(1155) }) it('responds status code 500 when invalid user', async () => {