You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1022 B

import { BaseRecord, Filter } from 'adminjs'
import { factory } from 'factory-girl'
import Resource from '../../src/resource'
import { User } from '../utils/models'
describe('Resource #find', () => {
it('returns first n items', async () => {
await factory.createMany('user', 10)
const resource = new Resource(User)
const limit = 5
const offset = 0
const returnedItems = await resource.find(new Filter({}, User), {
limit,
offset,
})
expect(returnedItems.length).toEqual(limit)
expect(returnedItems[0]).toBeInstanceOf(BaseRecord)
})
it('searches by id', async () => {
const users = await factory.createMany('user', 10)
const resource = new Resource(User)
const limit = 5
const offset = 0
const idFilters = new Filter({ _id: users[0]._id.toHexString() }, resource)
const returnedItems = await resource.find(idFilters, { limit, offset })
expect(returnedItems.length).toEqual(1)
expect(returnedItems[0]).toBeInstanceOf(BaseRecord)
})
})