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
						
					
					
				| "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
 |