extender_spec.js 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const extender_1 = require("../lib/extender");
  4. const mockdriver_1 = require("./mockdriver");
  5. let noop_define = (n, m, p) => { };
  6. let noop_exec = (p, m, d) => { };
  7. describe('extender', () => {
  8. let sessionId = '1234';
  9. it('should call executor_.defineCommand', (done) => {
  10. let name = 'customCommand';
  11. let method = 'post';
  12. let path = '/custom/command';
  13. let mockdriver = mockdriver_1.buildMockDriver(sessionId, (n, m, p) => {
  14. expect(n).toEqual(name);
  15. expect(m).toEqual(method);
  16. expect(p).toEqual(path);
  17. done();
  18. }, noop_exec);
  19. let extender = new extender_1.Extender(mockdriver);
  20. extender.defineCommand(name, [], method, path);
  21. });
  22. it('should schedule custom commands', (done) => {
  23. let name = 'customCommand';
  24. let method = 'post';
  25. let path = '/custom/command';
  26. let mockdriver = mockdriver_1.buildMockDriver(sessionId, noop_define, (p, m, d) => {
  27. expect(p).toEqual(path);
  28. expect(m).toEqual(method);
  29. expect(d['sessionId']).toEqual(sessionId);
  30. expect(Object.keys(d).length).toEqual(1);
  31. done();
  32. });
  33. let extender = new extender_1.Extender(mockdriver);
  34. extender.defineCommand(name, [], method, path);
  35. extender.execCommand(name, method, []);
  36. });
  37. it('should use command parameters', (done) => {
  38. let name = 'customCommand';
  39. let method = 'post';
  40. let paramNames = ['var1', 'var2'];
  41. let paramValues = ['val1', 'val2'];
  42. let path = '/custom/:var1/command';
  43. let mockdriver = mockdriver_1.buildMockDriver(sessionId, noop_define, (p, m, d) => {
  44. expect(p).toEqual('/custom/val1/command');
  45. expect(m).toEqual(method);
  46. expect(d['sessionId']).toEqual(sessionId);
  47. expect(d['var2']).toEqual('val2');
  48. expect(Object.keys(d).length).toEqual(2);
  49. done();
  50. });
  51. let extender = new extender_1.Extender(mockdriver);
  52. extender.defineCommand(name, paramNames, method, path);
  53. extender.execCommand(name, method, paramValues);
  54. });
  55. it('should not be able to exec a command that has not been defined', () => {
  56. let mockdriver = mockdriver_1.buildMockDriver(sessionId, noop_define, noop_exec);
  57. let extender = new extender_1.Extender(mockdriver);
  58. expect(() => { extender.execCommand('', '', []); }).toThrowError(RangeError);
  59. });
  60. it('should require correct number of parameters for execution', () => {
  61. let name = 'customCommand';
  62. let method = 'post';
  63. let path = '/custom/:command';
  64. let mockdriver = mockdriver_1.buildMockDriver(sessionId, noop_define, noop_exec);
  65. let extender = new extender_1.Extender(mockdriver);
  66. extender.defineCommand(name, ['command'], method, path);
  67. expect(() => { extender.execCommand(name, method, []); }).toThrowError(RangeError);
  68. });
  69. });
  70. //# sourceMappingURL=extender_spec.js.map