2021-03-28 12:13:49 -08:00
|
|
|
/* eslint-disable eslint-comments/disable-enable-pair */
|
|
|
|
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
2021-03-28 11:54:27 -08:00
|
|
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
2018-05-23 13:32:38 -08:00
|
|
|
import test from 'ava';
|
2023-07-25 09:30:19 -08:00
|
|
|
|
2020-07-13 05:05:34 -08:00
|
|
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
2018-05-23 13:32:38 -08:00
|
|
|
const proxyquire = require('proxyquire').noCallThru();
|
|
|
|
|
|
2020-03-25 02:15:08 -08:00
|
|
|
test('existsOnNpm() builds the url for non-scoped packages', (t) => {
|
2019-12-13 21:31:15 -09:00
|
|
|
let getUrl: string;
|
2018-05-23 13:32:38 -08:00
|
|
|
const {existsOnNpm} = proxyquire('../../cli/api', {
|
|
|
|
|
got: {
|
2019-12-13 21:31:15 -09:00
|
|
|
get(url: string) {
|
2018-05-23 13:32:38 -08:00
|
|
|
getUrl = url;
|
|
|
|
|
return Promise.resolve({
|
|
|
|
|
body: {
|
|
|
|
|
versions: []
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
'registry-url': () => 'https://registry.npmjs.org/'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return existsOnNpm('pkg').then(() => {
|
|
|
|
|
t.is(getUrl, 'https://registry.npmjs.org/pkg');
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
2020-03-25 02:15:08 -08:00
|
|
|
test('existsOnNpm() builds the url for scoped packages', (t) => {
|
2019-12-13 21:31:15 -09:00
|
|
|
let getUrl: string;
|
2018-05-23 13:32:38 -08:00
|
|
|
const {existsOnNpm} = proxyquire('../../cli/api', {
|
|
|
|
|
got: {
|
2019-12-13 21:31:15 -09:00
|
|
|
get(url: string) {
|
2018-05-23 13:32:38 -08:00
|
|
|
getUrl = url;
|
|
|
|
|
return Promise.resolve({
|
|
|
|
|
body: {
|
|
|
|
|
versions: []
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
'registry-url': () => 'https://registry.npmjs.org/'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return existsOnNpm('@scope/pkg').then(() => {
|
|
|
|
|
t.is(getUrl, 'https://registry.npmjs.org/@scope%2fpkg');
|
|
|
|
|
});
|
|
|
|
|
});
|