|
1 | 1 | var runNewmanTest = require('../../../../test/codegen/newman/newmanTestUtil').runNewmanTest, |
2 | | - convert = require('../../lib/index').convert; |
| 2 | + convert = require('../../lib/index').convert, |
| 3 | + NODE_VERSION = process.versions.node.split('.')[0]; |
3 | 4 |
|
4 | 5 | describe('Convert for different types of request', function () { |
5 | | - var testSnippet = 'var fetch = require(\'node-fetch\'),\nFormData = require(\'form-data\'),\n', |
6 | | - testConfig = { |
| 6 | + var testConfig = { |
7 | 7 | compileScript: null, |
8 | 8 | runScript: 'node snippet.js', |
9 | 9 | fileName: 'snippet.js', |
10 | 10 | skipCollections: ['formdataFileCollection'] |
11 | 11 | }, |
12 | 12 | options = { |
13 | 13 | multiLine: true |
14 | | - }; |
15 | | - testSnippet += 'Headers = require(\'node-fetch\').Headers,\n'; |
16 | | - testSnippet += 'URLSearchParams = require(\'url\').URLSearchParams;\n\n'; |
| 14 | + }, |
| 15 | + testSnippet; |
| 16 | + |
| 17 | + if (NODE_VERSION < 21) { |
| 18 | + testSnippet = 'var fetch = require(\'node-fetch2\');\n'; |
| 19 | + } |
| 20 | + else { |
| 21 | + testSnippet = 'var fetch = (...args) => import(\'node-fetch\').then(({default: fetch}) => fetch(...args));'; |
| 22 | + } |
| 23 | + |
| 24 | + if (NODE_VERSION < 21) { |
| 25 | + // Newer node versions ship with built-in FormData, Headers and URLSearchParams class |
| 26 | + testSnippet += '\nvar FormData = require(\'formdata-node\').FormData,\n'; |
| 27 | + testSnippet += 'Headers = require(\'node-fetch2\').Headers,\n'; |
| 28 | + testSnippet += 'URLSearchParams = require(\'url\').URLSearchParams;\n\n'; |
| 29 | + } |
| 30 | + |
17 | 31 | testConfig.headerSnippet = testSnippet; |
18 | 32 | runNewmanTest(convert, options, testConfig); |
19 | 33 | }); |
0 commit comments