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.
		
		
		
		
		
			
		
			
				
					33 lines
				
				830 B
			
		
		
			
		
	
	
					33 lines
				
				830 B
			| 
											3 years ago
										 | import { Filter } from 'adminjs' | ||
|  | import { factory } from 'factory-girl' | ||
|  | import Resource from '../../src/resource' | ||
|  | import { User } from '../utils/models' | ||
|  | 
 | ||
|  | 
 | ||
|  | describe('Resource #count', () => { | ||
|  |   let resource | ||
|  | 
 | ||
|  |   beforeEach(() => { | ||
|  |     resource = new Resource(User) | ||
|  |   }) | ||
|  | 
 | ||
|  |   it('returns given count without filters', async () => { | ||
|  |     const NUMBER_OF_RECORDS = 12 | ||
|  |     await factory.createMany('user', NUMBER_OF_RECORDS) | ||
|  | 
 | ||
|  |     const countedRecords = await resource.count(new Filter({}, resource)) | ||
|  | 
 | ||
|  |     expect(countedRecords).toEqual(NUMBER_OF_RECORDS) | ||
|  |   }) | ||
|  | 
 | ||
|  |   it('returns given count for given filters', async () => { | ||
|  |     const filterOutAllRecords = new Filter({ | ||
|  |       email: 'some-not-existing-email', | ||
|  |     }, resource) | ||
|  | 
 | ||
|  |     const counterRecords = await resource.count(filterOutAllRecords) | ||
|  | 
 | ||
|  |     expect(counterRecords).toEqual(0) | ||
|  |   }) | ||
|  | }) |