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
			| 
											3 years ago
										 | 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) | ||
|  |   }) | ||
|  | }) |