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
						
					
					
				
			
		
		
	
	
							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)
 | 
						|
  })
 | 
						|
})
 |