mirror of
https://github.com/storybookjs/storybook.git
synced 2025-04-05 08:01:20 +08:00
73 lines
2.1 KiB
TypeScript
73 lines
2.1 KiB
TypeScript
import { addExtraFlags, getStorybookVersion, isCorePackage } from './upgrade';
|
|
|
|
describe.each([
|
|
['│ │ │ ├── @babel/code-frame@7.10.3 deduped', null],
|
|
[
|
|
'│ ├── @storybook/theming@6.0.0-beta.37 extraneous',
|
|
{ package: '@storybook/theming', version: '6.0.0-beta.37' },
|
|
],
|
|
[
|
|
'├─┬ @storybook/preset-create-react-app@3.1.2',
|
|
{ package: '@storybook/preset-create-react-app', version: '3.1.2' },
|
|
],
|
|
['│ ├─┬ @storybook/node-logger@5.3.19', { package: '@storybook/node-logger', version: '5.3.19' }],
|
|
[
|
|
'npm ERR! peer dep missing: @storybook/react@>=5.2, required by @storybook/preset-create-react-app@3.1.2',
|
|
null,
|
|
],
|
|
])('getStorybookVersion', (input, output) => {
|
|
it(`${input}`, () => {
|
|
expect(getStorybookVersion(input)).toEqual(output);
|
|
});
|
|
});
|
|
|
|
describe.each([
|
|
['@storybook/react', true],
|
|
['@storybook/node-logger', true],
|
|
['@storybook/addon-info', true],
|
|
['@storybook/something-random', true],
|
|
['@storybook/preset-create-react-app', false],
|
|
['@storybook/linter-config', false],
|
|
['@storybook/design-system', false],
|
|
])('isCorePackage', (input, output) => {
|
|
it(`${input}`, () => {
|
|
expect(isCorePackage(input)).toEqual(output);
|
|
});
|
|
});
|
|
|
|
describe('extra flags', () => {
|
|
const extraFlags = {
|
|
'react-scripts@<5': ['--foo'],
|
|
};
|
|
const devDependencies = {};
|
|
it('package matches constraints', () => {
|
|
expect(
|
|
addExtraFlags(extraFlags, [], { dependencies: { 'react-scripts': '4' }, devDependencies })
|
|
).toEqual(['--foo']);
|
|
});
|
|
it('package prerelease matches constraints', () => {
|
|
expect(
|
|
addExtraFlags(extraFlags, [], {
|
|
dependencies: { 'react-scripts': '4.0.0-alpha.0' },
|
|
devDependencies,
|
|
})
|
|
).toEqual(['--foo']);
|
|
});
|
|
it('package not matches constraints', () => {
|
|
expect(
|
|
addExtraFlags(extraFlags, [], {
|
|
dependencies: { 'react-scripts': '5.0.0-alpha.0' },
|
|
devDependencies,
|
|
})
|
|
).toEqual([]);
|
|
});
|
|
it('no package not matches constraints', () => {
|
|
expect(
|
|
addExtraFlags(extraFlags, [], {
|
|
dependencies: {},
|
|
devDependencies,
|
|
})
|
|
).toEqual([]);
|
|
});
|
|
});
|