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.
		
		
		
		
		
			
		
			
				
					
					
						
							65 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
	
	
							65 lines
						
					
					
						
							2.0 KiB
						
					
					
				| "use strict";
 | |
| 
 | |
| var _chai = require("chai");
 | |
| 
 | |
| var _requestParser = _interopRequireDefault(require("./request-parser"));
 | |
| 
 | |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | |
| 
 | |
| const buildResourceWithProperty = (key, property) => {
 | |
|   const resource = {
 | |
|     _decorated: {
 | |
|       getPropertyByKey: path => key === path ? property : null
 | |
|     }
 | |
|   };
 | |
|   return resource;
 | |
| };
 | |
| 
 | |
| let resource;
 | |
| describe('RequestParser', function () {
 | |
|   const baseRequest = {
 | |
|     params: {
 | |
|       resourceId: 'resourceId',
 | |
|       action: 'edit'
 | |
|     },
 | |
|     method: 'post',
 | |
|     payload: {}
 | |
|   };
 | |
|   describe('boolean values', function () {
 | |
|     beforeEach(function () {
 | |
|       resource = buildResourceWithProperty('isHired', {
 | |
|         type: () => 'boolean'
 | |
|       });
 | |
|     });
 | |
|     it('sets value to `false` when empty string is given', function () {
 | |
|       var _requestParser$payloa;
 | |
| 
 | |
|       const request = { ...baseRequest,
 | |
|         payload: {
 | |
|           isHired: ''
 | |
|         }
 | |
|       };
 | |
|       (0, _chai.expect)((_requestParser$payloa = (0, _requestParser.default)(request, resource).payload) === null || _requestParser$payloa === void 0 ? void 0 : _requestParser$payloa.isHired).to.be.false;
 | |
|     });
 | |
|     it('changes "true" string to true', function () {
 | |
|       var _requestParser$payloa2;
 | |
| 
 | |
|       const request = { ...baseRequest,
 | |
|         payload: {
 | |
|           isHired: 'true'
 | |
|         }
 | |
|       };
 | |
|       (0, _chai.expect)((_requestParser$payloa2 = (0, _requestParser.default)(request, resource).payload) === null || _requestParser$payloa2 === void 0 ? void 0 : _requestParser$payloa2.isHired).to.be.true;
 | |
|     });
 | |
|     it('changes "false" string to true', function () {
 | |
|       var _requestParser$payloa3;
 | |
| 
 | |
|       const request = { ...baseRequest,
 | |
|         payload: {
 | |
|           isHired: 'false'
 | |
|         }
 | |
|       };
 | |
|       (0, _chai.expect)((_requestParser$payloa3 = (0, _requestParser.default)(request, resource).payload) === null || _requestParser$payloa3 === void 0 ? void 0 : _requestParser$payloa3.isHired).to.be.false;
 | |
|     });
 | |
|   });
 | |
| }); |