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.
		
		
		
		
		
			
		
			
				
					39 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					39 lines
				
				1.6 KiB
			| 
											3 years ago
										 | "use strict"; | ||
|  | var __importDefault = (this && this.__importDefault) || function (mod) { | ||
|  |     return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
|  | }; | ||
|  | Object.defineProperty(exports, "__esModule", { value: true }); | ||
|  | const mongoose_1 = __importDefault(require("mongoose")); | ||
|  | const resource_1 = __importDefault(require("../../src/resource")); | ||
|  | const models_1 = require("../utils/models"); | ||
|  | const property_1 = __importDefault(require("../../src/property")); | ||
|  | describe('Resource #properties', () => { | ||
|  |     let resource; | ||
|  |     let returnedProperties; | ||
|  |     beforeEach(() => { | ||
|  |         resource = new resource_1.default(models_1.User); | ||
|  |         returnedProperties = resource.properties(); | ||
|  |     }); | ||
|  |     it('returns correct amount of properties', () => { | ||
|  |         // 8 because of implicit _id and __v properties
 | ||
|  |         expect(returnedProperties.length).toEqual(8); | ||
|  |     }); | ||
|  |     it('sets the position of properties', () => { | ||
|  |         expect(returnedProperties.map(p => p.position())).toEqual([0, 1, 2, 3, 4, 5, 6, 7]); | ||
|  |     }); | ||
|  |     it('returns instances of Property class', async () => { | ||
|  |         expect(returnedProperties[0]).toBeInstanceOf(property_1.default); | ||
|  |     }); | ||
|  |     it('returns all fields for nested properties', () => { | ||
|  |         const Nested = mongoose_1.default.model('Nested', new mongoose_1.default.Schema({ | ||
|  |             field: { | ||
|  |                 subfield: String, | ||
|  |                 anotherSubField: String, | ||
|  |             }, | ||
|  |         })); | ||
|  |         const nestedResource = new resource_1.default(Nested); | ||
|  |         const propertiesOfNestedResource = nestedResource.properties(); | ||
|  |         expect(propertiesOfNestedResource.length).toEqual(4); | ||
|  |     }); | ||
|  | }); | ||
|  | //# sourceMappingURL=properties.spec.js.map
 |