mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
add test for when rss:feed in:archive is in the query
This commit is contained in:
parent
851f30fc62
commit
c57ead3583
3 changed files with 60 additions and 11 deletions
|
|
@ -42,7 +42,6 @@ export interface SearchArgs {
|
|||
recommendedBy?: string
|
||||
includeContent?: boolean
|
||||
noFilters?: NoFilter[]
|
||||
subscription?: string
|
||||
}
|
||||
|
||||
export interface SearchResultItem {
|
||||
|
|
@ -257,12 +256,6 @@ const buildWhereClause = (
|
|||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (args.subscription) {
|
||||
queryBuilder.andWhere('lower(library_item.subscription) = :subscription', {
|
||||
subscription: args.subscription.toLowerCase(),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export const searchLibraryItems = async (
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ export interface SearchFilter {
|
|||
ids: string[]
|
||||
recommendedBy?: string
|
||||
noFilters: NoFilter[]
|
||||
subscription?: string
|
||||
}
|
||||
|
||||
export enum LabelFilterType {
|
||||
|
|
@ -273,6 +272,12 @@ const parseFieldFilter = (
|
|||
field: 'item_language',
|
||||
value,
|
||||
}
|
||||
case 'SUBSCRIPTION':
|
||||
case 'RSS':
|
||||
return {
|
||||
field: 'subscription',
|
||||
value,
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
@ -419,11 +424,9 @@ export const parseSearchQuery = (query: string | undefined): SearchFilter => {
|
|||
dateFilter && result.dateFilters.push(dateFilter)
|
||||
break
|
||||
}
|
||||
// term filters
|
||||
case 'subscription':
|
||||
case 'rss':
|
||||
result.subscription = parseStringValue(keyword.value)
|
||||
break
|
||||
// term filters
|
||||
case 'language': {
|
||||
const fieldFilter = parseFieldFilter(keyword.keyword, keyword.value)
|
||||
fieldFilter && result.termFilters.push(fieldFilter)
|
||||
|
|
|
|||
|
|
@ -1135,6 +1135,59 @@ describe('Article API', () => {
|
|||
expect(res.body.data.search.edges[0].node.id).to.eq(items[0].id)
|
||||
})
|
||||
})
|
||||
|
||||
context(
|
||||
'when rss:feed in:archive is in the query',
|
||||
() => {
|
||||
let items: LibraryItem[] = []
|
||||
|
||||
before(async () => {
|
||||
keyword = 'rss:feed in:archive'
|
||||
// Create some test items
|
||||
items = await createLibraryItems(
|
||||
[
|
||||
{
|
||||
user,
|
||||
title: 'test title 1',
|
||||
readableContent: '<p>test 1</p>',
|
||||
slug: 'test slug 1',
|
||||
originalUrl: `${url}/test1`,
|
||||
archivedAt: new Date(),
|
||||
subscription: 'feed',
|
||||
},
|
||||
{
|
||||
user,
|
||||
title: 'test title 2',
|
||||
readableContent: '<p>test 2</p>',
|
||||
slug: 'test slug 2',
|
||||
originalUrl: `${url}/test2`,
|
||||
subscription: 'feed',
|
||||
},
|
||||
{
|
||||
user,
|
||||
title: 'test title 3',
|
||||
readableContent: '<p>test 3</p>',
|
||||
slug: 'test slug 3',
|
||||
originalUrl: `${url}/test3`,
|
||||
archivedAt: new Date(),
|
||||
},
|
||||
],
|
||||
user.id
|
||||
)
|
||||
})
|
||||
|
||||
after(async () => {
|
||||
await deleteLibraryItems(items, user.id)
|
||||
})
|
||||
|
||||
it('returns archived feed items', async () => {
|
||||
const res = await graphqlRequest(query, authToken).expect(200)
|
||||
|
||||
expect(res.body.data.search.pageInfo.totalCount).to.eq(1)
|
||||
expect(res.body.data.search.edges[0].node.id).to.eq(items[0].id)
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
describe('TypeaheadSearch API', () => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue