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;
 | 
						|
    });
 | 
						|
  });
 | 
						|
}); |