1+ import {
2+ getAnyVersionManifests ,
3+ getExactVersionManifests ,
4+ getGreaterThanOrEqualVersionManifests ,
5+ getGreaterThanVersionManifests ,
6+ getLessThanOrEqualVersionManifests ,
7+ getLessThanVersionManifests ,
8+ getLooseVersionManifests ,
9+ getMinorVersionManifests ,
10+ getPatchVersionManifests
11+ } from '../../../test/fixtures' ;
112import { createManifest } from '../../../test/helpers' ;
13+ import {
14+ RANGE_ANY ,
15+ RANGE_EXACT ,
16+ RANGE_GT ,
17+ RANGE_GTE ,
18+ RANGE_LOOSE ,
19+ RANGE_LT ,
20+ RANGE_LTE ,
21+ RANGE_MINOR ,
22+ RANGE_PATCH
23+ } from '../../constants' ;
224import { IManifest } from '../../typings' ;
325import { manifestData } from './index' ;
426
527const { getMismatchedVersions, getVersions, setVersion, setVersionRange, setVersionsToNewestMismatch } = manifestData ;
628
7- let mockManifests : IManifest [ ] = [ ] ;
8-
9- beforeEach ( ( ) => {
10- mockManifests = [
11- createManifest (
12- 'foo' ,
13- { chalk : '2.3.0' , commander : '2.13.0' } ,
14- { jest : '22.1.3' , prettier : '1.10.2' , rimraf : '2.6.2' } ,
15- { gulp : '3.9.1' }
16- ) ,
17- createManifest ( 'bar' , { chalk : '1.0.0' } , { jest : '22.1.4' } ) ,
18- createManifest ( 'baz' , null , { npm : 'https://github.com/npm/npm.git' , prettier : '1.10.2' } , { gulp : '*' } )
19- ] ;
20- } ) ;
21-
2229describe ( 'getMismatchedVersions' , ( ) => {
2330 it ( 'returns an index of dependencies used with different versions' , ( ) => {
24- expect ( getMismatchedVersions ( mockManifests ) ) . toEqual ( {
31+ expect ( getMismatchedVersions ( getExactVersionManifests ( ) ) ) . toEqual ( {
2532 chalk : [ '1.0.0' , '2.3.0' ] ,
26- gulp : [ '*' , '3 .9.1' ] ,
33+ gulp : [ '*' , '0 .9.1' ] ,
2734 jest : [ '22.1.3' , '22.1.4' ]
2835 } ) ;
2936 } ) ;
3037} ) ;
3138
3239describe ( 'getVersions' , ( ) => {
3340 it ( 'returns an index of every unique dependency in use' , ( ) => {
34- expect ( getVersions ( mockManifests ) ) . toEqual ( {
41+ expect ( getVersions ( getExactVersionManifests ( ) ) ) . toEqual ( {
3542 chalk : [ '1.0.0' , '2.3.0' ] ,
3643 commander : [ '2.13.0' ] ,
37- gulp : [ '*' , '3 .9.1' ] ,
44+ gulp : [ '*' , '0 .9.1' ] ,
3845 jest : [ '22.1.3' , '22.1.4' ] ,
3946 npm : [ 'https://github.com/npm/npm.git' ] ,
4047 prettier : [ '1.10.2' ] ,
@@ -45,12 +52,12 @@ describe('getVersions', () => {
4552
4653describe ( 'setVersion' , ( ) => {
4754 it ( 'sets the version of a named dependency when it is found' , ( ) => {
48- expect ( setVersion ( 'jest' , '25.0.0' , mockManifests ) ) . toEqual ( [
55+ expect ( setVersion ( 'jest' , '25.0.0' , getExactVersionManifests ( ) ) ) . toEqual ( [
4956 createManifest (
5057 'foo' ,
5158 { chalk : '2.3.0' , commander : '2.13.0' } ,
5259 { jest : '25.0.0' , prettier : '1.10.2' , rimraf : '2.6.2' } ,
53- { gulp : '3 .9.1' }
60+ { gulp : '0 .9.1' }
5461 ) ,
5562 createManifest ( 'bar' , { chalk : '1.0.0' } , { jest : '25.0.0' } ) ,
5663 createManifest ( 'baz' , null , { npm : 'https://github.com/npm/npm.git' , prettier : '1.10.2' } , { gulp : '*' } )
@@ -59,23 +66,52 @@ describe('setVersion', () => {
5966} ) ;
6067
6168describe ( 'setVersionRange' , ( ) => {
62- it ( 'sets the version range of all semver dependencies' , ( ) => {
63- expect ( setVersionRange ( '^' , mockManifests ) ) . toEqual ( [
64- createManifest (
65- 'foo' ,
66- { chalk : '^2.3.0' , commander : '^2.13.0' } ,
67- { jest : '^22.1.3' , prettier : '^1.10.2' , rimraf : '^2.6.2' } ,
68- { gulp : '^3.9.1' }
69- ) ,
70- createManifest ( 'bar' , { chalk : '^1.0.0' } , { jest : '^22.1.4' } ) ,
71- createManifest ( 'baz' , null , { npm : 'https://github.com/npm/npm.git' , prettier : '^1.10.2' } , { gulp : '*' } )
72- ] ) ;
69+ const assertRange = ( inputRange : string , expectedManifests : IManifest [ ] ) => {
70+ [
71+ getExactVersionManifests ( ) ,
72+ getGreaterThanVersionManifests ( ) ,
73+ getGreaterThanOrEqualVersionManifests ( ) ,
74+ getLessThanVersionManifests ( ) ,
75+ getLessThanOrEqualVersionManifests ( ) ,
76+ getMinorVersionManifests ( ) ,
77+ getPatchVersionManifests ( )
78+ ] . forEach ( ( inputManifests ) => {
79+ expect ( setVersionRange ( inputRange , inputManifests ) ) . toEqual ( expectedManifests ) ;
80+ } ) ;
81+ } ;
82+
83+ it ( `sets semver ranges to the "${ RANGE_ANY } " format` , ( ) => {
84+ assertRange ( RANGE_ANY , getAnyVersionManifests ( ) ) ;
85+ } ) ;
86+ it ( `sets semver ranges to the "${ RANGE_EXACT } " format` , ( ) => {
87+ assertRange ( RANGE_EXACT , getExactVersionManifests ( ) ) ;
88+ } ) ;
89+ it ( `sets semver ranges to the "${ RANGE_GT } " format` , ( ) => {
90+ assertRange ( RANGE_GT , getGreaterThanVersionManifests ( ) ) ;
91+ } ) ;
92+ it ( `sets semver ranges to the "${ RANGE_GTE } " format` , ( ) => {
93+ assertRange ( RANGE_GTE , getGreaterThanOrEqualVersionManifests ( ) ) ;
94+ } ) ;
95+ it ( `sets semver ranges to the "${ RANGE_LOOSE } " format` , ( ) => {
96+ assertRange ( RANGE_LOOSE , getLooseVersionManifests ( ) ) ;
97+ } ) ;
98+ it ( `sets semver ranges to the "${ RANGE_LT } " format` , ( ) => {
99+ assertRange ( RANGE_LT , getLessThanVersionManifests ( ) ) ;
100+ } ) ;
101+ it ( `sets semver ranges to the "${ RANGE_LTE } " format` , ( ) => {
102+ assertRange ( RANGE_LTE , getLessThanOrEqualVersionManifests ( ) ) ;
103+ } ) ;
104+ it ( `sets semver ranges to the "${ RANGE_MINOR } " format` , ( ) => {
105+ assertRange ( RANGE_MINOR , getMinorVersionManifests ( ) ) ;
106+ } ) ;
107+ it ( `sets semver ranges to the "${ RANGE_PATCH } " format` , ( ) => {
108+ assertRange ( RANGE_PATCH , getPatchVersionManifests ( ) ) ;
73109 } ) ;
74110} ) ;
75111
76112describe ( 'setVersionsToNewestMismatch' , ( ) => {
77113 it ( 'sets the version of dependencies with different versions to the newest of those versions found' , ( ) => {
78- expect ( setVersionsToNewestMismatch ( mockManifests ) ) . toEqual ( [
114+ expect ( setVersionsToNewestMismatch ( getExactVersionManifests ( ) ) ) . toEqual ( [
79115 createManifest (
80116 'foo' ,
81117 { chalk : '2.3.0' , commander : '2.13.0' } ,
0 commit comments