From a4fa989eb7a31f33225b95c974054b184200e712 Mon Sep 17 00:00:00 2001 From: Buyantogtokh Date: Fri, 27 Mar 2020 18:22:03 +0800 Subject: [PATCH] return published kb articles in resolver --- src/__tests__/knowledgeBaseMutations.test.ts | 5 +++-- src/data/resolvers/knowledgeBaseCategory.ts | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/__tests__/knowledgeBaseMutations.test.ts b/src/__tests__/knowledgeBaseMutations.test.ts index 5bbfc0626..af2855e0c 100644 --- a/src/__tests__/knowledgeBaseMutations.test.ts +++ b/src/__tests__/knowledgeBaseMutations.test.ts @@ -1,6 +1,7 @@ import * as faker from 'faker'; import { graphqlRequest } from '../db/connection'; import { Brands, KnowledgeBaseArticles, KnowledgeBaseCategories, KnowledgeBaseTopics, Users } from '../db/models'; +import { PUBLISH_STATUSES } from '../db/models/definitions/constants'; import { brandFactory, @@ -31,7 +32,7 @@ const categoryArgs = { const articleArgs = { title: faker.random.word(), summary: faker.random.word(), - status: 'draft', + status: PUBLISH_STATUSES.DRAFT, content: faker.random.word(), }; @@ -43,7 +44,7 @@ describe('mutations', () => { beforeEach(async () => { // Creating test data - _knowledgeBaseArticle = await knowledgeBaseArticleFactory({}); + _knowledgeBaseArticle = await knowledgeBaseArticleFactory({ status: PUBLISH_STATUSES.PUBLISH }); _knowledgeBaseCategory = await knowledgeBaseCategoryFactory({ articleIds: [_knowledgeBaseArticle._id] }); _knowledgeBaseTopic = await knowledgeBaseTopicFactory({ categoryIds: [_knowledgeBaseCategory._id] }); _brand = await brandFactory({}); diff --git a/src/data/resolvers/knowledgeBaseCategory.ts b/src/data/resolvers/knowledgeBaseCategory.ts index d8fb496c8..2e27be40e 100644 --- a/src/data/resolvers/knowledgeBaseCategory.ts +++ b/src/data/resolvers/knowledgeBaseCategory.ts @@ -1,16 +1,17 @@ import { KnowledgeBaseArticles, KnowledgeBaseTopics, Users } from '../../db/models'; +import { PUBLISH_STATUSES } from '../../db/models/definitions/constants'; import { ICategoryDocument } from '../../db/models/definitions/knowledgebase'; export default { articles(category: ICategoryDocument) { - return KnowledgeBaseArticles.find({ _id: { $in: category.articleIds } }); + return KnowledgeBaseArticles.find({ _id: { $in: category.articleIds }, status: PUBLISH_STATUSES.PUBLISH }); }, async authors(category: ICategoryDocument) { const articles = await KnowledgeBaseArticles.find( { _id: { $in: category.articleIds }, - status: 'publish', + status: PUBLISH_STATUSES.PUBLISH, }, { createdBy: 1 }, ); @@ -31,7 +32,7 @@ export default { numOfArticles(category: ICategoryDocument) { return KnowledgeBaseArticles.find({ _id: { $in: category.articleIds }, - status: 'publish', + status: PUBLISH_STATUSES.PUBLISH, }).countDocuments(); }, };